当前位置: 首页 > news >正文

selenium中ChromeDriver配置,一把过,并且教你伪装

最近正值毕业季,我之前不是写了个问卷星代码嘛,昨晚上有人凌晨1点加我,问我相关内容。

由于我之前C盘重装了一下,导致我很多东西空有其表,实际不能用,借此机会,向大家编写ChromeDriver配置,这是实现selenium自动化的第一步。

很多人觉得这一步很麻烦,其实也还好。

首先就是chromedriver和chrome版本是对应的,你不能跨版本安装,否则就会提示版本不适配,报错。

具体步骤可以看目录,也就是查看chrome版本->资源获取->复制到chrome路径下->复制到python解释器路径下

查看chrome版本

chrome版本点击设置->关于chrome

但是我这里就出现了一个问题,我这里显示117版本的,但是我代码测试的时候,发现不匹配,说我chrome版本是122版本的,因此我就只能按要求安装122版本的。 

资源获取

这是官网:ChromeDriver - WebDriver for Chrome - Downloads (chromium.org)

注意看红色标注的,说明这个网站只能看到115版本以下的,不能看115版本已经更新的版本,需要跳转到另一个网站,而那个网站很多人进不去的。 而且很多人的chrome版本已经是115甚至更新,所以这个网站上的内容相当于废了。大家可以关注一下公众号:认知up吧,回复driver获取我为大家准备好的chromedriver版本。资源如下图

 里面不只有win64的,其他系统的也有。


言归正传,你解压后,文件夹中内容如下,我们其实只需要chromedriver.exe即可。

复制到chrome路径下

首先就是在chrome图标,鼠标右键->打开文件所在的位置

然后就进入chrome的路径,

我电脑上的路径如下:G:\Program Files\Google\Chrome\Application 

然后只需要将我们复制的chromedriver.exe粘贴到这个目录下即可。

复制到python解释器路径下

接下来就是找到你的python解释器路径,也就是找python.exe的位置

比如我电脑上安装了python3.7.0和python3.8.2,我就在每个里面都粘贴了一次。

 

只有一个python的话,只需要粘贴一次就好了。 


一般来说,安装python的时候,网上教程都让你勾选上添加到环境变量里,所以到这里应该就结束了,我的教学也是到这里就结束了。

需要安装selenium的,可以在终端输入以下命令。

pip install selenium==4.1.1

否则安装版本过高可能会提示以下报错 

Exception managing chrome: error sending request for url (https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json): error trying to connect: 远程主机强迫关闭了一个现有的连接。 (os error 10054)

即 Exception managing chrome: error sending request for url (https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json): error trying to connect: 远程主机强迫关闭了一个现有的连接。 (os error 10054)

上面内容都搞好了后,可以进行简单的测试。

简单的测试

这个就是最简单的代码测试,里面没有隐藏

from selenium import webdriver
# Chrome浏览器
driver = webdriver.Chrome()
url = "https://www.baidu.com"
driver.get(url)

 因此就会出现chrome正受到自动测试软件的控制的文字。

 

经过伪装,其实用性大大加强,不会出现chrome正受到自动测试软件的控制的文字。

from selenium import webdriveroption = webdriver.ChromeOptions()
option.add_experimental_option('excludeSwitches', ['enable-automation'])
option.add_experimental_option('useAutomationExtension', False)
driver = webdriver.Chrome(options=option)
driver.execute_cdp_cmd('Page.addScriptToEvaluateOnNewDocument',{'source': 'Object.defineProperty(navigator, "webdriver", {get: () => undefined})'})
url = "https://www.baidu.com"
driver.get(url)

 

http://www.lryc.cn/news/312943.html

相关文章:

  • vue3 + vite 项目可以使用纯Js开发吗?
  • Java EE之线程安全问题
  • 掌握Nodejs高级图片压缩技巧提升web优化
  • C++初阶 类(上)
  • 图片速览 BitNet: 1-bit LLM
  • 金融基础——拨备前利润和拨备后利润介绍
  • 网络编程作业day7
  • 【Vision Pro杀手级应用】3D音乐会/演唱会,非VR视频播放的形式,而是实实在在的明星“全息”形象,在你的面前表演
  • 变频器学习
  • Linux Ubuntu系统安装MySQL并实现公网连接本地数据库【内网穿透】
  • 0048__Unix传奇
  • 蓝桥杯-排序
  • 计算机设计大赛 深度学习的视频多目标跟踪实现
  • 高性能JSON框架之FastJson的简单使用
  • ★判断素数的几种方法(由易到难,由慢到快)
  • vue svelte solid 虚拟滚动性能对比
  • IDEA中新增文件,弹出框提示是否添加到Git点错了,怎么重新设置?
  • LV15 day5 字符设备驱动读写操作实现
  • Uninty 鼠标点击(摄像机发出射线-检测位置)
  • 描述下Vue自定义指令
  • 2024.3.7
  • this.$watch 侦听器 和 停止侦听器
  • P1030 [NOIP2001 普及组] 求先序排列题解
  • 【分布式】NCCL Split Tree kernel内实现情况 - 06
  • C语言深入学习 --- 4.自定义类型(结构体+枚举+联合)
  • AI自然语言中默认上下文长度4K 几K是什么意思?
  • vSphere 8考试认证题库 2024最新(VCP 8.0版本)
  • 系统学习Python——装饰器:“私有“和“公有“属性案例-[装饰器参数、状态保持和外层作用域]
  • 星辰天合参与编制 国内首个可兼顾 AI 大模型训练的高性能计算存储标准正式发布
  • 算法训练day38动态规划基础Leetcode509斐波纳切数70爬楼梯746使用最小花费爬楼梯