首页 > 其他分享 >selenium防止被反爬识别(关闭自动化控制标志)

selenium防止被反爬识别(关闭自动化控制标志)

时间:2024-09-12 23:37:40浏览次数:7  
标签:webdriver WebDriver chrome selenium driver 自动化 识别 options

在使用Selenium进行网页抓取时,WebDriver会向服务器发送信息以表明请求是自动化的。

WebDriver被期望具有诸如window.navigator.webdriver之类的属性,这是W3C WebDriver规范所规定的,以便于进行更好的测试和作为一种安全功能。但是这会导致被Web服务器检测到,从而导致被标记或被拒绝访问。

随着execute_cdp_cmd(cmd, cmd_args)命令的可用性,现在可以使用Selenium轻松执行Google Chrome DevTools命令。这使得可以更改默认的标志。

代码1:

# 会显示【chrome正受到自动测试软件的控制】
from selenium import webdriver
# 创建chrome的webDriver
driver = webdriver.Chrome()
driver.get('https://bot.sannysoft.com/') # 注意该网站需FQ才能打开

显示如下:

代码2:

# 不会显示【chrome正受到自动测试软件的控制】
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/') # 注意该网站需FQ才能打开

显示如下:
image

标签:webdriver,WebDriver,chrome,selenium,driver,自动化,识别,options
From: https://www.cnblogs.com/stxz/p/18411331

相关文章

  • MATLAB新能源车牌识别系统
    MATLAB新能源车牌识别系统是一种利用MATLAB软件开发的自动识别新能源车辆车牌的系统。该系统通过图像处理和模式识别技术,能够从摄像头或者图片中准确地提取新能源车辆车牌的信息。该系统的工作流程如下:图像获取:通过摄像头或者从文件中获取图像数据。图像预处理:对获取的图......
  • 《OpenCV计算机视觉》—— 身份证号码识别案例
    文章目录一、案例实现的整体思路二、代码实现1.首先定义两个函数2.模板图像中数字的定位处理3.身份证号码数字的定位处理4.使用模板匹配,计算匹配得分,找到正确结果一、案例实现的整体思路下面是一个数字0~9的模板图片案例身份证如下:对数字模板的处理通过对模板......
  • 3. 轴指令(omron 机器自动化控制器)——>MC_Home
    机器自动化控制器——第三章轴指令2MC_Home变量▶输入变量▶输出变量▶输入输出变量功能说明▶欧姆龙制伺服驱动器1S系列的设定▶欧姆龙制伺服驱动器G5系列的设定▶NX系列位置接口单元的设定▶原点复位动作模式▶正方向极限输入时动作和负方向极限输入时动作▶原点复......
  • 1. 运动控制指令概要(omron 机器自动化控制器)
    机器自动化控制器——第一章运动控制指令概要1-1运动控制指令PLCopen®运动控制用功能块运动控制指令概要▶运动控制指令的种类▶状态变化▶运动控制指令的启动和状态▶异常处理▶执行运动控制指令时输入变量的变更(指令重启)▶通过选择缓存模式执行指令多重启动......
  • WPF 尝试使用 WinML 做一个简单的手写数字识别应用
    最近我看了微软的AI训练营之后,似乎有点了解WindowsMachineLearning和DirectML的概念,于是我尝试实践一下,用WPF写一个简单的触摸手写输入的画板,再使用大佬训练好的mnist.onnx模型,对接WinML实现一个简单的手写数字识别应用本文属于WinML的入门级博客,我将尝试一步步......
  • 02【python+playwright测试自动化】之实现登录邮箱初版
    playwright系列文章目录00Mac安装playwright00Mac安装配置Python3虚拟环境(VirtualEnv、virtualenvwrapper扩展包)01【python+playwright测试自动化】之定位方式文章目录playwright系列文章目录前言一、实现登录邮箱初版总结前言本文只提供简单的网易邮箱登录、......
  • 深度学习实战88-基于注意力机制优化的WGAN-BiLSTM模型应用于信用卡欺诈识别方法
    大家好,我是微学AI,今天给大家介绍一下本文介绍了基于注意力机制优化的WGAN-BiLSTM模型应用于信用卡欺诈识别方法。该文章详细阐述了该模型的架构,包括其独特设计及优势。展示了相关公式以深入理解其原理,同时给出了代码实现过程,便于实际应用。对所用数据集进行了全面介绍,包括其......
  • 流程自动化变革:看低代码开发如何赋能企业创新转型
    在数字化转型的浪潮中,企业面临着前所未有的挑战和机遇。为了保持竞争力,企业必须快速适应市场变化,创新业务模式,并提高运营效率。流程自动化成为企业转型的关键,而低代码开发平台如JNPF,正成为推动这一变革的重要力量。什么是低代码开发?低代码开发是一种通过图形化界面和配置化......
  • 白月黑羽selenium课后练习答案(全)
    白月黑羽课程连接:白月黑羽最近自学了白月黑羽老师的自动化测试课程,并非课后作业的准确答案,只是为了个人学习记录,如有不足欢迎留言指点,谢谢大家,共同进步!白月黑羽selenium课后练习答案代码整理好放在百度网盘了,需要自取:链接:https://pan.baidu.com/s/1O3dE0L5TAMQJ8eJh64ur2A ......
  • usbserver工程师手机(五)中信银行银企直连系统证书ukey识别
        今天客户收到usbserver一台,连接中信银行银企直连系统证书ukey时,出现客户端   解决方法: web管理界面,选中一下模拟拔插,保存后,重置一次端口打开天地融的工具查看有证书,完美识别 USBServer官方厂家:     北京盛讯美恒科技发展有限公司,网址: www.......