被带有 selenium 和 chromedriver 的网站阻止

2023-11-25

我在尝试使用 chrome 驱动程序和 selenium 访问网站 (bet365.com) 时遇到一些麻烦(我完全被“阻止”)。

我可以使用普通的 chrome 访问该网站,但是当我尝试使用 chrome 驱动程序时,它不起作用。

我之前遇到过这个问题,并使用以下一些选项纠正了它(python):

from selenium import webdriver

options = webdriver.ChromeOptions() 
options.add_argument("start-maximized")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
driver = webdriver.Chrome(options=options, executable_path=r'PATH_TO\chromedriver.exe')
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
  "source": """
    Object.defineProperty(navigator, 'webdriver', {
      get: () => undefined
    })
  """
})
driver.execute_cdp_cmd("Network.enable", {})
driver.execute_cdp_cmd('Network.setUserAgentOverride', {"userAgent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.53 Safari/537.36'})

driver.get("https://www.bet365.com/")

现在,问题又回来了,这段代码不再能够绕过保护。 有人能帮我吗?


如果Selenium driven Chrome驱动程序发起谷歌浏览器 浏览上下文被检测到一个潜在的解决方案是使用未检测到的 chromedriver初始化Chrome 浏览上下文.

未检测到的 chromedriver是一个优化的 Selenium Chromedriver 补丁,不会触发 Distill Network / Imperva / DataDome / Botprotect.io 等反机器人服务。它会自动下载驱动程序二进制文件并对其进行修补。

  • 代码块:

    import undetected_chromedriver as uc
    from selenium import webdriver
    
    options = webdriver.ChromeOptions() 
    options.add_argument("start-maximized")
    driver = uc.Chrome(options=options)
    driver.get('https://bet365.com')
    

参考

您可以在以下位置找到一些相关的详细讨论:

  • 未检测到的 Chromedriver 未正确加载
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

被带有 selenium 和 chromedriver 的网站阻止 的相关文章

随机推荐