您当前的位置:首页 > 计算机 > 编程开发 > Python

解决selenium新版启动缓慢 (卡住) 的问题

时间:04-13来源:作者:点击数:
城东书院 www.cdsy.xyz

前因:

新版selenium (截至2024.3.25) 会自动下载并载入webDriver,不需要以前的手动加载,但这个自动载入功能也带来了一些问题。

以Chrome为例子, 新旧写法代码如下:

# 旧版写法
driver = webdriver.Chrome("此处为webDriver文件目录")
# 新版写法
driver = webdriver.Chrome()

新版selenium会自动将webDriver下载到C:\Users\用户名\.cache\selenium\chromedriver\win64或32\浏览器版本号\chromedriver.exe目录下

每隔久一点启动或缓存被清理后, selenium就会检查webDriver更新并重新下载,重新下载的过程中程序无法运行,而且由于网络问题,重新下载webDriver往往要花费极长的时间,用户体验非常差。

解决:

使用selenium中的service类手动加载webDriver即可避免每次重新下载webDriver更新。

第一步:在Chrome for Testing availability网站下载对应Chrome版本的chromedriver(其他浏览器如Edge请自行解决),举例,我的电脑安装的是windows 64位的稳定版123版本Chrome就找到 123.0.6 + stable + win64 然后复制右边的下载链接进行下载

在这里插入图片描述

然后把chromedriver.exe文件放在随便哪个目录下 (我放在了项目目录下, 并根据版本号和系统进行了重命名为了chromedriver_123.0.6312.58_x64.exe这样方便以后判断要不要更新webDriver)

参照以下代码用service加载驱动即可

from selenium import webdriver
from selenium.webdriver.chrome.service import Service

# 填写chromedriver的目录, 此处使用了相对路径
service = Service('./chromedriver_123.0.6312.58_x64.exe')
driver = webdriver.Chrome(service=service)
driver.get("https://www.baidu.com")
城东书院 www.cdsy.xyz
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门