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

文章讲述了新版Selenium自动下载WebDriver导致的性能问题,提出通过手动加载和指定chromedriver路径来避免频繁下载和等待时间。作者提供了在Chromedriver网站下载对应版本驱动及使用Service类加载驱动的解决方案。
摘要由CSDN通过智能技术生成

前因:

新版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")
  • 23
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值