硒webdriver BrokenPipeError(超时问题)

时间:2018-06-29 01:41:25

标签: python python-3.x selenium-webdriver

我将代码简化为以下内容:

from selenium import webdriver
from time import sleep
b = webdriver.Firefox()
sleep(10)
b.get('http://www.google.com')

这会导致 b.get 调用出现BrokenPipeError。这是我的环境错误吗?我做错了还是错误?

ENV:

  • Fedora 27(64位)
  • Firefox Quantum 59.0.2(64位)
  • Python 3.6.5
  • 硒3.13.0(通过点子)
  • 来自GitHub的
  • geckodriver v0.21.0

更新: 我升级了工作站,并将其迁移到Fedora 28,并重新安装了Firefox 61,Python 3.6.5,Selenium 3.13.0和geckodriver 0.21.0,并且提供的脚本也存在相同的问题。

2 个答案:

答案 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