使用selenium也会被网站反爬,有的网站甚至检测到是selenium时就会封禁ip,所以今天分享一下selenium的反爬。大多数网站识别selenium的方法是通过window.navigator.webdriver,它的作用是在用户打开浏览器时给当前窗口一个window属性来存放用户的各种信息,当我们使用selenium时值为true,正常用户访问网站时为false
文章来源地址https://www.toymoban.com/news/detail-519940.html
所以要实现selenium的反爬就要去除window.navigator.webdriver,代码如下
from selenium.webdriver import ChromeOptions
from selenium import webdriver
# 实例化对象
option = ChromeOptions()
option.add_experimental_option('excludeSwitches',['enable-automation'])# 开启实验性功能
# 去除特征值
option.add_argument("--disable-blink-features=AutomationControlled")
# 实例化谷歌
driver = webdriver.Chrome(options=option)
# 修改get方法
script = '''object.defineProperty(navigator,'webdriver',{undefinedget: () => undefined})'''
#execute_cdp_cmd用来执行chrome开发这个工具命令
driver.execute_cdp_cmd("page.addscriptToEvaluateonNewDocument",{"source": script})
再次使用selenium会发现window.navigator.webdriver值为undefined,而且浏览器窗口也没有了正在使用自动化测试
文章来源:https://www.toymoban.com/news/detail-519940.html
到了这里,关于selenium反爬的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!