0


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 webdriver

option = 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)

标签: selenium python

本文转载自: https://blog.csdn.net/knighthood2001/article/details/136533681
版权归原作者 knighthood2001 所有, 如有侵权,请联系我们删除。

“selenium中ChromeDriver配置,一把过,并且教你伪装”的评论:

还没有评论