问题
selenium初始化浏览器的异常现象: 所需时间很长且不稳定(可能在数分钟到十来分钟),在等待这些时间后可以正常初始化并且使用
原因
我的代码如下:
chrome_options = Options()
Logging('设置selenium参数中1')
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
Logging('设置selenium参数中2')
driver = webdriver.Chrome(options=chrome_options)
Logging('设置selenium参数完毕','info')
在三个阶段进行了测试,发现到最后 webdriver.Chrome
这里很慢,可以确定是这里的问题
经过了搜索之后发现这个问题的原因是高版本现在初始化的时候会去外网请求api来对比版本,很显然我们的网络环境是访问不到的,所以最终会超时
Exception managing chrome: error sending request for url (https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json)
这个是手动测试的时候抛出来的地址
解决方法
解决这个问题也很简单,方案有两个:
- 使用代理让机器能够访问到外网,这样就不会有问题了
- 把这个地址使用本地解析到内网,这样出错了也可以快速返回
鉴于我们以后都是使用的内网环境,无需外部网络,并且已经下载好了对应的版本,所以最终采用第二种方式,在 /etc/hosts
中增加如下内容:
127.0.0.255 googlechromelabs.github.io
PS. 为什么经过了一系列的搜索才知道解决方案? 因为前面测试的时候除了时间慢,并没有给出任何异常,所以 selenium 如何打印 debug 信息呢?
评论