当前位置: 首页 > 知识库问答 >
问题:

被使用selenium和chromedriver的网站屏蔽

锺伟志
2023-03-14
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/")

共有1个答案

任元青
2023-03-14

如果检测到Selenium驱动的ChromeDriver启动的google-chrome浏览上下文,可能的解决方案是使用未检测到的ChromeDriver来初始化Chrome浏览上下文。

未检测到-Chromedriver是一个优化的Selenium Chromedriver修补程序,它不会触发反机器人服务,如Distill Network/Imperva/DataDome/botProtectt.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')
    
      null

  •  类似资料:
    • 我希望我的程序打开默认的chrome配置文件,然后获得YouTube。我可以让它打开youtube(在新的chrome浏览器中),或者打开默认的chrome配置文件,但不能两者兼而有之。(不,我没有运行两个驱动变量) 当我运行获取chrome配置文件的驱动程序行时,我会得到错误: 回溯(最近的调用为last):文件“C:\users\myname\onedrive\documents\python

    • 我一直在用Chromedriver测试Selenium,我注意到有些页面可以检测到你在使用Selenium,尽管根本没有自动化功能。即使我只是手动浏览,只是使用Chrome,通过Selenium和Xephyr,我也经常会看到一个页面,上面说检测到了可疑的activity。我已经检查了我的用户代理和我的浏览器指纹,他们都完全相同的正常Chrome浏览器。 当我用普通的Chrome浏览这些网站时,一切

    • 当我用ChromeDriver截屏时,我得到的屏幕与我的视口大小相同。 当我用FirefoxDriver截屏时,我得到了我想要的,这是网站的全屏打印。 ChromeDriver是这样声明的: FirefoxDriver的声明如下: 两个驱动程序执行相同的代码: ChromeDriver的test.png分辨率为1920x1099,仅包含浏览器视口。 FirefoxDriver的test.png分辨

    • 问题内容: 我必须登录SnapSurveys并每月下载20多个文件。现在已经是一个繁琐的过程,现在我必须每周执行一次,而手工完成将变得很繁琐,所以我想实现它的自动化并安装了Selenium来做到这一点。我已经使用SeleniumIDE(在FireFox中)跟踪了整个过程,所以我知道我想做的事情以及如何做的基础知识,但是,我遇到了一个难以理解的砖墙,试图理解该网页。实现它的结构。 使用Chrome和

    • 我实际上正在尝试从不同的网站中删除一些汽车数据,我一直在chromebrowser中使用selenium,但一些网站实际上通过验证码验证(例如:https://www.leboncoin.fr/),阻止了selenium,而这只需要一到两个请求。我尝试在chromebrowser中更改$_cdc,但这没有解决问题,我一直在chromebrowser中使用这些选项 我试图刮的网站使用DataDome

    • 我需要在一个网页上滚动(例如twitter),并制作一个网站上出现的新元素的网络抓取。我试着用,和来做这个。这是我的密码 问题是我无法滚动到底部。和是相同的。但是如果我将从更改为,同样的代码可以正常工作。为什么?