我将代码简化为以下内容:
from selenium import webdriver
from time import sleep
b = webdriver.Firefox()
sleep(10)
b.get('http://www.google.com')
这会导致 b.get 调用出现BrokenPipeError。这是我的环境错误吗?我做错了还是错误?
ENV:
更新: 我升级了工作站,并将其迁移到Fedora 28,并重新安装了Firefox 61,Python 3.6.5,Selenium 3.13.0和geckodriver 0.21.0,并且提供的脚本也存在相同的问题。
答案 0 :(得分:0)
您需要指定webdriver.exe文件的路径 首先指定path =“您的webdriver.exe的路径”
path ='path of your webdriver.exe'
and then b = webdriver.Firefox(path)
答案 1 :(得分:0)
我使用此方法来解决此问题,并且每当存在超时风险时都会调用它。我希望有更好的解决方案,但这对我现在有效。
def refresh(b):
try:
b.refresh()
except BrokenPipeError:
pass