Selenium防止被反爬识别(关闭自动化控制标志)
创作时间:
作者:
@小白创作中心
Selenium防止被反爬识别(关闭自动化控制标志)
引用
1
来源
1.
https://www.cnblogs.com/stxz/p/18411331
在使用Selenium进行网页抓取时,WebDriver会向服务器发送信息以表明请求是自动化的。WebDriver被期望具有诸如window.navigator.webdriver
之类的属性,这是W3C WebDriver规范所规定的,以便于进行更好的测试和作为一种安全功能。但是这会导致被Web服务器检测到,从而导致被标记或被拒绝访问。
随着execute_cdp_cmd(cmd, cmd_args)
命令的可用性,现在可以使用Selenium轻松执行Google Chrome DevTools命令。这使得可以更改默认的标志。
问题描述
在默认情况下,当使用Selenium打开Chrome浏览器时,网站可以通过检查navigator.webdriver
属性来判断是否为自动化工具。例如,访问bot.sannysoft.com时,会显示"Chrome正受到自动测试软件的控制"的提示。
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://bot.sannysoft.com/')
解决方案
为了隐藏自动化工具的身份,可以通过以下步骤来修改Chrome的设置:
- 创建ChromeOptions实例并添加必要的参数
- 使用JavaScript代码将
navigator.webdriver
属性值更改为undefined
以下是具体的Python代码实现:
from selenium import webdriver
# 创建一个Chromeoptions实例
options = webdriver.ChromeOptions()
# 添加一个参数来禁用“AutomationControlled”标志
options.add_argument("--disable-blink-features=AutomationControlled")
# Exclude the collection of enable-automation switches
options.add_experimental_option("excludeSwitches", ["enable-automation"])
# 关闭 userAutomationExtension
options.add_experimental_option("useAutomationExtension", False)
# 创建chrome的webDriver
driver = webdriver.Chrome(options=options)
# 重要!!将webdriver的navigator值属性更改为undefined
driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})")
driver.get('https://bot.sannysoft.com/') # 注意该网站需梯子才能打开
通过上述设置,再次访问bot.sannysoft.com时,将不会显示"Chrome正受到自动测试软件的控制"的提示。
热门推荐
关税,国际贸易规则里的核心密码
左心室高电压是什么意思?
唱响“在太行山上”的三新篇章——山西长治高质量发展路径观察
头皮脂溢性皮炎的症状与治疗建议
发财树叶子发黄的原因及处理方法
API 规范:设计与最佳实践
免疫系统概况
吃五谷杂粮,一定要记住这几个小窍门!
一个LOGO如何传达品牌的核心价值
股票获利的计算方法有哪些?这些计算方法有哪些适用范围?
培养数学解题能力的三大黄金法则:让对比思维成为学习利器
龙鱼吃什么发色好(如何通过饮食改善龙鱼的颜色表现?)
核桃如何食用才能发挥最大营养价值?如何搭配和食用核桃更健康?
海岛春花养护指南:如何养成每年开花的盆栽灌木
中国海洋大学全面解析:实力与就业前景一并了解
室性心动过速:症状、病因及预防措施
2025年研考国家线发布!5年国家线变化趋势分析!
星际争霸2虫族开局攻略:底层逻辑与实战操作全解析
走进画学:艺术治疗与情绪表达
什么是消费维权策略
2025年岩土专业就业前途如何
如何计算房建工程的相关费用?计算过程中需要考虑哪些因素?
高效调试:程序运行中错误信息打印指南
中医辨证治疗甲状腺结节,试过的人都说好!
分享6道家常小炒,食材新鲜有营养,减轻肠胃负担,轻松过大年
新能源汽车锂电池技术发展趋势及其余能测试方法解析
揭秘狗狗花色:遗传与环境如何塑造多彩毛发
推荐七本治愈系书籍|让阅读传递温暖
彻底摆脱广告侵扰:安卓和苹果手机关闭广告推送全攻略
货币基金收益的影响因素有哪些?这些影响因素如何作用于收益?