So I recently started testing selenium for some personal projects and one problem I ran into was being banned from some websites due to recaptcha v3 tests. I did some more research and found the recaptcha v3 demo and did some testing and eventually wrote this:
from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from webdriver_manager.chrome import ChromeDriverManager options = webdriver.ChromeOptions() options.add_argument("start-maximized") options.add_experimental_option("excludeSwitches", ["enable-automation"]) options.add_experimental_option('useAutomationExtension', False) options.add_argument("--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36"); driver = webdriver.Chrome(options=options, executable_path=ChromeDriverManager().install()) driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", { "source": """ Object.defineProperty(navigator, 'webdriver', { get: () => undefined }) """ }) driver.get("https://recaptcha-demo.appspot.com/recaptcha-v3-request-scores.php") WebDriverWait(driver, 10).until(EC.title_contains("Index")) I have looked at various stack overflow questions including the following,
Selenium webdriver: Modifying navigator.webdriver flag to prevent selenium detection
Can a website detect when you are using selenium with chromedriver?
How does recaptcha 3 know I'm using selenium/chromedriver?
and more
While the arguments added do help to improve the recaptcha v3 score, it is still extremely inconsistent. about half the time I receive a passing score of .7 and the other half I receive a failing score of .1.
Please help me to improve my recaptcha scores and consistently pass
EDIT 1: Signing into a google account in the chrome instance often changes the results of the demo, however still do not entirely prevent failing scores
