This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-06-13
Channels
- # announcements (4)
- # babashka (72)
- # beginners (86)
- # biff (24)
- # boot (1)
- # calva (71)
- # cherry (1)
- # cider (8)
- # clerk (7)
- # clj-kondo (23)
- # clojure (78)
- # clojure-art (3)
- # clojure-austin (2)
- # clojure-europe (18)
- # clojure-hamburg (6)
- # clojure-nl (1)
- # clojure-norway (17)
- # clojure-uk (2)
- # clojuredesign-podcast (21)
- # clojurescript (17)
- # conjure (1)
- # cursive (18)
- # datahike (7)
- # datomic (7)
- # emacs (1)
- # etaoin (5)
- # events (1)
- # figwheel-main (4)
- # graalvm (37)
- # graphql (1)
- # humbleui (12)
- # hyperfiddle (10)
- # introduce-yourself (1)
- # jobs-discuss (7)
- # kaocha (1)
- # malli (5)
- # off-topic (12)
- # pathom (12)
- # practicalli (1)
- # reitit (11)
- # releases (2)
- # shadow-cljs (45)
- # tools-build (33)
- # wasm (18)
Hi folks, just wondering what it would take to support https://github.com/ultrafunkamsterdam/undetected-chromedriver? Main goal is to write webscrapers that can avoid triggering anti-bot mechanisms
Hi @UR37CBF8D, dunno, never heard of it! But if it is just a chromedriver drop-in replacement, might just-work? What have you tried?
Hey @UE21H2HHD, sorry for my poorly worded question, I’ve not tried anything yet. I guess the biggest challenge is that all the documentation/tutorials/etc seem to require python
. I’ll see if I can find a way to convert it to an executable, and hopefully it’s just a matter of setting the driver path
No prob @UR37CBF8D, let us know if you find something that works for you. Admittedly I only glanced at them, but I didn't find the docs for undetected-chromedriver particularly clear. Not sure exactly what it does or why or how. Out of the box, etaoin https://cljdoc.org/d/etaoin/etaoin/1.0.40/doc/user-guide#user-agent. Not sure if that helps you at all.
@UR37CBF8D A bit late but I've had some initial luck using etaoin undetected with he following settings:
(e/chrome
{:args ["--disable-blink-features=AutomationControlled"]
:capabilities {:chromeOptions {:args ["--disable-blink-features=AutomationControlled"]
:excludeSwitches ["enable-automation"]}}})
not sure if all those are necessary or doing anything, or if this is sufficiently undetected, but it seemed to let me do some stuff I couldn't before.
Ultimately I ended up using the Chrome DevTools protocol instead of webdriver to control a "normal"/non-webdriver controlled browser (started with --remote-debugging-port=....
https://chromedevtools.github.io/devtools-protocol/ which seems to offer more capabilities than webdriver and might be worth checking out depending on what you're doing