无论我使用哪种浏览器,Webdriver都无法访问网页

时间:2019-01-04 21:04:20

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

我正在尝试使用Selenium的网络驱动程序访问网页,但是无论我使用哪种浏览器(Opera / Firefox / GoogleChrome),我都无法访问该网页。

在任何情况下,浏览器都会弹出并挂在那里,无法访问任何URL。

当我尝试运行脚本时,我得到了

selenium.common.exceptions.WebDriverException: Message: Can not connect to the Service /usr/bin/[opera/chrome]

如果我使用Firefox,我会得到:

selenium.common.exceptions.WebDriverException: Message: Service /usr/bin/firefox unexpectedly exited. Status code was: 0

我的代码:

browser = webdriver.Firefox(executable_path=FIREFOX_PATH)

browser.get('www.google.com')
r = BeautifulSoup(browser.page_source, PARSER)
print(r.text)

我正在将Linux Ubuntu 18.04与python3.6配合使用

1 个答案:

答案 0 :(得分:1)

自从您使用executable_path=FIREFOX_PATH创建了网络驱动程序以来,我认为您可能已经混淆了Firefox二进制文件和geckodriver二进制文件路径的关键字参数。 webdriver.Firefox期望:

  
      
  • firefox_binary – Firefox二进制实例或Firefox二进制的完整路径。如果未定义,将使用系统默认的Firefox安装。
  •   
  • executable_path –覆盖用于Firefox 47.0.1及更高版本的geckodriver二进制文件的完整路径,默认为从系统路径中提取二进制文件。
  •   

因此,对于Firefox二进制文件firefox,您需要设置关键字参数firefox_binary。对于geckodriver二进制文件geckodriver,您需要设置关键字参数executable_path


您是否甚至想要/需要使用默认二进制文件以外的文件?你可以跑

firefox --version

geckodriver --version

在您的终端中没有问题吗?然后,您根本不需要设置firefox_binaryexecutable_path