首页
学习
活动
专区
圈层
工具
发布

近期Selenium经常启动慢的原因分析和解决办法

不知道从什么时候开始,selenium 经常行出现启动慢的问现象

具体表现为:

已提前下载好了浏览器驱动,可以正常启动浏览器

快的时候有时 2 秒就启动好,慢的时候要半分钟左右

不是每一次都慢,慢一次之后再启动就正常了

一两个小时候会复现一次,一天出现多次,很烦

通过对 selenium 的跟着和分析发现,问题还是出现在 selenium manager 上。

selenium 启动时会借助 selenium manager 找到浏览器驱动,如果没有合适的浏览器驱动,就会自动下载。

因为下载地址都是国外的,所以下载比较慢,甚至下载失败,这是导致 Selenium 启动慢的主要原因。

那么,为什么已经手动下载好驱动,selenium 还会启动缓慢呢?

驱动的版本要和浏览器的版本相匹配,不是有驱动就能直接使用,selenium manager 会在启动时检查版本之间的匹配关系。

检查版本也需要请求国外的地址,这就是 Selenium 启动慢的另外一个原因。

版本检查不是每次启动都会执行,每次检查后结果会缓存一小时,在此之内不再重复检查,

于是形成了现在的尴尬局面:

手动下载的驱动可以启动,可以正常使用

但是偶尔抽风卡一下,全天要卡好几次

找到问题的原因,就好解决了。

既然问题的根源是:访问国外的网络缓慢(部分网络甚至访问失败),

对应解决办法就是:国内服务器提前下载好所需的资源,然后让 selenium manage 访问更快国内的服务器。

服务器已经部署了一段时间了,从实际效果来看,改善了网络访问效率后 selenium 使用非常方便丝滑:

自动下载所需的浏览器驱动(支持各版本 chrome、firefox、edge)

避免每小时一次的启动缓慢(3 秒完成版本检查)

为降低服务器成本,特招拼车队友,并可以提供一个短期试用(文末有具体步骤):

如果你有类似困扰,并且愿意分担服务器费用的话可以后台找到我

或者,你已经有国内的服务器(ubuntu+docker)愿意提供公益服务的话,可以免费代为部署

(如果你此前已经为 webdriver-helper 付过费,请私聊我,免费提供 2 年的 selenium 加速)

试用步骤:

selenium 版本升级到4.25.1以上

pip3 install selenium -U

将加速地址保存到环境变量SE_DRIVER_MIRROR_URL中

Windwos :

Linux/MacOS:

python:

重新加载环境变量后,正常使用 selenium 即可(windows/linux、python/java 均可)

  • 发表于:
  • 原文链接https://page.om.qq.com/page/O84AplXt72NIJcfoeCXybsIw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。
领券