That's indeed sad news - getting caught at a later stage without even using Selenium but having it loaded.Started digging into this today. Was surprised that a lot of sites haven't done this kind of thing already given how easy the footprints are on the default setting.
I fixed my problem by reverse engineering some of the calls and tapping into the sites API which doesn't seem to give much of a shit where the calls are coming from. But life is easier with Selenium and there's no doubt this kind of thing is going to crop up more and more so I've been poking at it to see if I can get around it if I need to. Made a couple of changes which have gotten me further on a Distil site than the initial default although the check does seem to catch it at a later stage.
It looks at the names of the browser extensions so the Chrome Automation Extension is an obvious footprint. I've disabled it before their check runs and I know I read somewhere earlier today you can hook back into a chromedriver and enable it again if you need the functionality.
Injecting JS before anything else runs I changed the navigator.webdriver to return undefined (not false - a normal Chrome instance would return undefined) and languages to "en-GB", "en-US", "en". Also changed the default resolution and disabled headless (at least for the moment).
Picking through the JS from Distil is slow going because I suck at JS but there's still something catching me out. It's strange since I get by the first check and even though I'm navigating manually the same script running again sounds the alarm when the first didn't. From what I can see all of the responses for the interrogate check would look pretty standard and match a normal Chrome browser. Some JS runs fine and loads data then just dies at a later stage.
That's indeed sad news - getting caught at a later stage without even using Selenium but having it loaded.
Can you bring some light onto what steps you needed to take apart of navigator.webdriver to undefined to get past the first check?
It has to be done this way, otherwise google's employees will understand the discussion and we are f*cked.I am amazed a topic this adavnced is discussed here.![]()
I understand non-Jr VIP members contributed in this thread. But discussions like these should be atleast in Jr.VIp subforum.It has to be done this way, otherwise google's employees will understand the discussion and we are f*cked.
It was supposed to be in the Jr.VIP so that we don't get tired (like now) finding a solution from the eyes of g0-0gle every single time they change something.I understand non-Jr VIP members contributed in this thread. But discussions like these should be atleast in Jr.VIp subforum.
I knew about that variable name thingy. If the new version of chromedriver doesnt support it. Why cant we stick with the old version?
I am amazed a topic this adavnced is discussed here.![]()
I understand non-Jr VIP members contributed in this thread. But discussions like these should be atleast in Jr.VIp subforum.
I knew about that variable name thingy. If for the new version of chromedriver doesnt support it. Why cant we stick to the old version?
It was supposed to be in the Jr.VIP so that we don't get tired (like now) finding a solution from the eyes of g0-0gle every single time they change something.
To answer you question. Using an older driver will most likely be a solution for now, but that does not mean that it is the best solution as it will come to a point where using an older version will trigger additional checks.
Don't you think it is way easier for them to add more and more "leaks" if they just take a look at the places where that is discussed at most?I guarantee Google engineers would not need this thread. If you're trying to avoid detection from Google them Chromedriver is out. Even Firefox is going to stick a hook in for them if asked. If they start properly going after bots then your only way of running shit is going to wind up OCR and AutoIT.
Luckily third parties like Distil (and other networks like CloudFlare are going to start doing this if it knocks out browser automation so easily) don't have that kind of control over the browser source. All they can do is look for leaks which is fine as long as we can hide them.
Finally someone mentioned AutoIT. It is sad no one knows about it.I guarantee Google engineers would not need this thread. If you're trying to avoid detection from Google them Chromedriver is out. Even Firefox is going to stick a hook in for them if asked. If they start properly going after bots then your only way of running shit is going to wind up OCR and AutoIT.
Luckily third parties like Distil (and other networks like CloudFlare are going to start doing this if it knocks out browser automation so easily) don't have that kind of control over the browser source. All they can do is look for leaks which is fine as long as we can hide them.
Finally someone mentioned AutoIT. It is sad no one knows about it.
Don't you think it is way easier for them to add more and more "leaks" if they just take a look at the places where that is discussed at most?
I was kind of half joking to be honest. AutoIT is handy don't get me wrong. I paid my rent with it automating games a few years ago. After that, it was my introduction into scraping and automation a while ago which has made me a bunch of money since.
But it's not really a viable replacement for Selnium and Chromedriver.
Even if they had every post on the subject in one place - they wouldn't need to. If they wanted to detect people using Chromedriver it would be candy from a baby.
Distill are limited by existing conditions. Google owns Chrome - they could do whatever the hell they liked with the driver and detect that without running obvious JS checks. Hell, they could just prevent it from accessing the domains on their blacklist.
Google didn't make a move against Chromedriver bots. They changed it to comply with a W3 requirement that automated browsers are clear about being automated browsers. Distill is just picking up on that (and other factors).
I know there is no better alternative for selenium when it comes to automating browser.
I dont know why you were joking. AutoIT is still used by several enterprises for testing GUIs. (windows antiviruses, installers, players) I personally know a couple.
Wow that's a lot of posts you've done on Sunday. I appreciate information not being behind the Jr. VIP forum as I've got no access for it.
You mentioned older versions are doing better against detection. What versions/dates are you talking about - 2017? I'd like to compare the two
What? No. Not at all. There are ajax and other js calls that is impossible to investigate and if you emulate via selenium then you'll not face any issue and at least not your action will be flagged.any browser can be fingerprinted and so can selenium hence why its a stupid (and bloated) solution to use a headless browser. people do it just because its easy, but its not the way to go.
raw GET/POST requests is what every professional bot uses. the only excuse to use selenium is "because im too lazy to do it properly"![]()
What? No. Not at all. There are ajax and other js calls that is impossible to investigate and if you emulate via selenium then you'll not face any issue and at least not your action will be flagged.
Sometimes you can not do the http thing nad you have to migrate to a real browser ( not any browser engine i mean ).
Thanks