-
Notifications
You must be signed in to change notification settings - Fork 194
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
"Not in cart, trying again" #28
Comments
Hi @Diablozone, thanks for opening this issue. I have seen this error before, however, I've seen the product also add to cart (and it continue to checkout) in the presence of this error. Are you seeing the same? |
no the product doesnt add to cart. should I keep trying again and again? |
what happens is that the page keeps refreshing and this error keeps looping. eventually the chromium tab closes automatically |
can you give some insight into why this error occurs or which part of the code its coming from so that I may be able to look into it further |
@Diablozone seems I am seeing the same behaviour, now. There is a 429 error coming from the API when clicking any of the DOM elements for style, size, or ATC button. I am going to need to look into this further and will circle back on it ASAP. |
Sure, Thanks a lot!
…On Wed, Jun 9, 2021 at 7:04 PM Samuel Corso ***@***.***> wrote:
@Diablozone <https://github.com/Diablozone> seems I am seeing the same
behaviour, now. There is a 429 error coming from the API when clicking any
of the DOM elements for style, size, or ATC button. I am going to need to
look into this further and will circle back on it ASAP.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#28 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ANBWNBVWG6CWYRIPEVNHS2DTR5UYBANCNFSM46I3ABPQ>
.
|
@Diablozone just updating this here, the error on the |
Does this mean that of I use a firefox webdriver the issue might be solved?
…On Thu, Jun 10, 2021, 21:07 Samuel Corso ***@***.***> wrote:
@Diablozone <https://github.com/Diablozone> just updating this here, the
error on the nike integration appears to be a CORS issue. You will see
some of the requests failing in the Chrome devtools network tab. I've
started looking into it but haven't gotten to the bottom of it, yet. It
just started happening afaik.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#28 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ANBWNBTECMEGDFGPLONUDNTTSDL45ANCNFSM46I3ABPQ>
.
|
@Diablozone its definitely worth a try. |
Doesnt work. Also, I tried a couple of Shopify sites but they just don't
open. The new chromium tab opens and closes automatically
…On Tue, Jun 15, 2021, 17:20 Samuel Corso ***@***.***> wrote:
@Diablozone <https://github.com/Diablozone> its definitely worth a try.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#28 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ANBWNBWC7KIW4VRRFVJRYGTTS446RANCNFSM46I3ABPQ>
.
|
@Diablozone can you provide a sample |
@samc621 I am seeing this with your API example:
Side question, what is style_index and is it just the style like Best 10-18 or Best 1-9 in the example url above? |
Hi @labboy0276, yes I noted this issue a couple of weeks ago. I believe that it is a CORS error, and I haven't gotten around to addressing it yet. |
@labboy0276 just copying this over here for reference: |
I am going to throw this here, but haven't tried it yet. Have you thought about using a header like this @samc621
I have seen this in other bots for scrapping the interwebz. |
@labboy0276 have you tested this with the Nike issue? Curious if it might help. |
negative @samc621 just putting it there as I havent had time to test it out yet. If someone else can, that would be helpful. |
@labboy0276 I added this:
But it doesn't seem to be doing the trick. I took a look in the console and it looks like a 429 error (blank response) on this API. |
There is a new captcha on the footsites, I've never repro'd it in the browser but I'm curious if this might help reduce bot detection so that we don't hit it there. I'll give it a go in a bit. |
So it looks like, testing with these headers on the footsites, I got blocked. It took me to a Terms of Service page. Testing without them, I hit the captcha I was expecting. All in all, I don't think setting these headers is helping much. I will need another approach to both the Nike issue and the footsites captcha. |
Any update on this? @samc621 |
I did some research on the 429 status code error and from what I got out of it, a 429 is a rate limiter error. Meaning the user sent too many requests at once. Could this be fixed by adding some timeouts to puppeteer? |
@Kohlsen yes, that is indeed the common meaning for a 429 response code. I have tried that, among numerous other things, but to no avail. I keep looking at it when I get a chance, and I think others are too. Let me know if you get anything to work! |
I'm also experiencing this issue on nike.com. When replicating the "clickthrough/search" behaviour on my own browser it doesn't occur |
@jhgeluk yes, I think it has something to do with the browser fingerprint and/or the speed of the navigations. I have some potential solutions for this, including:
I just haven't had time to implement this, but if someone is willing to give it a try, please feel free! |
@13ROY could you take a look at his when you get a chance? |
@jhgeluk yes that makes a lot of sense, can you try to identify what libraries Nike might be using? That way we can reverse engineer to a solution. This is commonly how I solve issues like this. |
Hi, I've been trying to resolve this but to no avail. I've tried inputting custom headers and disabling web security for now. Sam, any thoughts on how we can fix this? |
@abhingupta there's a lot of things we can try here: We are already randomizing the user agent but I would try Playwright with another browser like Firefox. I would try adding delay between the interactions. I would try to make sure that the browser emits mouse movement and click down events. I would check the network requests tab to see if there any requests which we are failing (other than the 429 error). I would evaluate their JS code to look for any kind of fingerprinting library (if so, we must figure out how to emulate or reverse engineer it). These are starting points. There's more we can do from here. |
Is this error related to this bug as well? Here is the task I am using to get this bug...
|
@bklynate yes it's the same issue. If you look in the Network tab, you should see some 429 errors. |
RANDOM OBSERVATION |
@bklynate I'm pretty sure that is because of how I think the issue is more likely to be related to the browser fingerprint. There's a lot of things that antibot softwares use to detect bots, but one of the easiest ones I've seen is the use of Chromium or another developer-friendly browser. The fix might be as simple as switching it out with Firefox. See more of my suggestions above. |
I've tried changing browsers (Firefox) and forcing the use of Chrome instead of Chromium, but none of that has worked thus far. |
Is this still an active problem? |
@ethanlaj Yes I believe so, I haven't seen a PR to fix it. If you get around to it, feel free to open one and I'll happily review it. |
Question have you experienced this issue with ALL websites or just with the nike website? At least I know where to start my investigation to understand which component performs the actual fingerprinting job |
@elManto only on Nike. |
Update, at least if someone is working on this he doesn't have to re-invent the wheel.
|
@samc621 I managed to get around this problem with puppeteer, but the solution was not scalable, so I decided to try ( Playwright ), and it worked. Here is the some basic code I wrote.
However, Playwright has some major issues with Nike.com.
Here is my thought.
Article about tracking of Puppeteer. Open for feedback. |
@elManto @aditya-pushkar thank you both for your work here, and sorry for the delay in the response as I've gotten very busy. It seems to me that there are many potential solutions so I think the best step forward is to identify the constraints and then agree on the best solution within those constraints.
We are already randomizing the UA but we can also look into loading a custom profile with the userDataDir argument. I'd be very surprised if the above isn't enough to get unblocked. I'll need to find time for a closer look if it does. |
@aditya-pushkar what version of Chrome did you use? Did you try removing any of the launch args? And did you launch in headless or headful? Some info will help me verify from my end. |
|
Can you help me with this? I have a use case in which multiple users can request different tasks at the same time, and for each task, a new puppeteer instance should start running immediately without getting queued. However, the single-threaded nature of Node is the issue. Whenever we want to run a CPU-intensive task, it processes a single request at a time, and other tasks get queued. For example, I set up an express server with a puppeteer and when I send more than one request/task at a time, the task gets queued until the previous request is completed. Is there a way around this? Is there something I'm missing? Or can this problem be solved by serverless? If there is any good resource you can point me to, It will be very helpful. |
@aditya-pushkar not sure I understand your issue. I also think this might belong on a separate issue, but I'll try to help anyways. So is your issue starting multiple tasks from the API in parallel? Is it a Puppeteer issue or a Node issue? On the Puppeteer side, this shouldn't be a problem as long as you set an appropriate On the Node side, I don't see what Node/Express has to do with this. They're async requests so they will not block the thread thanks to the Node.js event loop. Your Express server should be able to handle 1000 concurrent requests, or more, without issue. So I'm not sure what's causing the blocking from your end. I might be missing some context. Can you explain your scenario (how you are testing/implementing this) in more detail? |
@samc621 Thank you very much. |
Are there any update on this @samc621 Thanks for help |
@jorishaenseler15 I haven't gotten around to properly debugging the issue, just haven't found the time. Please feel free to submit a PR if you do. |
Still no update ? |
HI @Kaherdin I haven't been actively maintaining this project for a little while now. Please feel free to submit a PR if you are able to contribute a fix. Thanks! |
Nothing yet? I have been getting the same error with a basic selenium script... |
Hi @joacoarana I haven't been actively maintaining this project for a little while now. Please feel free to submit a PR if you are able to contribute a fix. Thanks! |
I am running this on windows without docker, and I got the bot to work. it opens up the browser, selects the size and then gets stuck in an endless loop saying "not in cart, trying again".
I am trying to test run on the nike website and in the browser it gives me an error saying
"We had an issue with your request. If you continue experiencing issues, try refreshing the page.
[ Code: 9F502A89 ]
Thanks in advance...
The text was updated successfully, but these errors were encountered: