当前位置: 首页 > 知识库问答 >
问题:

Firefox更新后无法使用Selenium打开浏览器

蓬思博
2023-03-14

我在Ubuntu桌面16.04上使用Selenium WebDriver,无法打开浏览器。在Firefox更新之后,我出现了以下错误(在此之前,一切都正常):

Traceback (most recent call last):
  File "test.py", line 6, in <module>
    driver = webdriver.Firefox()
  File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/firefox/webdriver.py", line 81, in __init__
    self.binary, timeout)
  File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/firefox/extension_connection.py", line 51, in __init__
    self.binary.launch_browser(self.profile, timeout=timeout)
  File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/firefox/firefox_binary.py", line 68, in launch_browser
    self._wait_until_connectable(timeout=timeout)
  File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/firefox/firefox_binary.py", line 98, in _wait_until_connectable
    raise WebDriverException("The browser appears to have exited "
selenium.common.exceptions.WebDriverException: Message: The browser appears to have exited before we could connect. If you specified a log_file in the FirefoxBinary constructor, check it for details.

共有3个答案

柯鸿振
2023-03-14

解决方案:将Firefox升级到47.0.1,将Selenium升级到2.53.1。

这种组合对我很有效。

有关更多详细信息,请参阅https://stackoverflow.com/a/37728659/6469532

孔飞舟
2023-03-14

修正:目前的解决方案是降级Firefox!运行此命令以获取可用Firefox版本的列表。

apt-cache show firefox | grep Version

我的结果是:

Version: 47.0+build3-0ubuntu0.16.04.1
Version: 45.0.2+build1-0ubuntu1

安装:

sudo apt-get install firefox=45.0.2+build1-0ubuntu1

要保留此版本并禁止更新,请执行以下操作:

sudo apt-mark hold firefox
sudo apt-mark unhold firefox
sudo apt-get upgrade
封永嘉
2023-03-14

从Firefox 47.0版(刚推出不久)开始,必须使用一个新的驱动程序(由mozilla而不是selenium创建)来连接Firefox,因为该版本中引入了一个bug。从Firefox 48.0版开始,旧的驱动程序将被完全弃用,只能使用木偶,所以最好现在就切换。请参阅:Firefox的木偶网络驱动程序

下载驱动程序(在OSX中只需使用brew安装geckodriver),将可执行文件重命名为wires。在windows上执行,或在*nix系统上连接,并确保可执行文件存在于系统路径中,然后在程序中使用此驱动程序,而不是旧的驱动程序,方法如下:

使用本地webdriver时:

蟒蛇:

firefox_capabilities = DesiredCapabilities.FIREFOX
firefox_capabilities['marionette'] = True

driver = webdriver.Firefox(capabilities=firefox_capabilities)

红宝石:

driver = Selenium::WebDriver.for :firefox, marionette: true

Javascript:

var capabilities = Capabilities.firefox();
capabilities.set('marionette', true);

var driver = new webdriver.Builder().withCapabilities(capabilities).build();

爪哇:

java prettyprint-override">DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
Webdriver driver = new FirefoxDriver(capabilities);

C#:

var driver = new FirefoxDriver(new FirefoxOptions());

使用硒网格时:

当使用selenium网格时,驱动程序应该出现在网格中所有机器的路径中。

蟒蛇:

firefox_capabilities = DesiredCapabilities.FIREFOX
firefox_capabilities['marionette'] = True
driver = webdriver.Firefox(capabilities=firefox_capabilities)

红宝石:

caps = Selenium::WebDriver::Remote::Capabilities.firefox marionette: true
driver = Selenium::WebDriver.for :firefox, desired_capabilities: caps

爪哇:

DesiredCapabilities capabilities = DesiredCapabilities.firefox();
// Set Marionette on so the Grid will use this instead of normal FirefoxDriver
capabilities.setCapability("marionette", true);

WebDriver driver = new RemoteWebDriver(capabilities); 

C#:

DesiredCapabilities capabilities = DesiredCapabilities.Firefox();
// Set Marionette on so the Grid will use this instead of normal FirefoxDriver
capabilities.SetCapability("marionette", true);

var driver = new RemoteWebDriver(capabilities); 
 类似资料:
  • 问题内容: 我在Ubuntu Desktop 16.04上使用Selenium WebDriver,但无法打开浏览器。Firefox更新后出现以下错误(在此之前,所有方法都可以正常工作): 问题答案: 修正 :目前的解决方案是降级Firefox!运行此命令以获取可用Firefox版本的列表。 我的结果: 安装: 要保留此版本并禁止更新:

  • 我已经通过命令行java-jar Jenkins.war启动了Jenkins服务器。但是,当我尝试执行Jenkins参数化作业(maven测试)时,firefox会打开片刻,然后立即关闭。 如果我使用chrome浏览器,它在Jenkins的工作很好。 注意:同样的测试在火狐和chrome浏览器上执行得很好。

  • 我正在使用以下配置: 运行时发现以下错误: org.openqa.selenium.会话未创建异常断开:无法连接到渲染器 (会话信息:chrome=62.0.3202.62) (驱动程序信息:chromeDrive=2.34.522940 (1a76f96f66e3ca7b8e57d503b4dd3bcfba87af1),平台=Windows NT 6.1.7601 SP1x86_64)(警告:服

  • 每当我尝试时,它都会说Chrome意外关闭并要求重新打开。在python末尾,它给出了错误: 我的代码是: 更新:在详细模式下运行会产生以下结果:

  • 我使用的是Firefox浏览器版本50.1.0、Selenium 3.0.1、Java1.8、TestNG和Eclipse。我无法使用以下代码打开Firefox浏览器: 但我得到了以下例外情况:

  • 有可能让selenium使用TOR浏览器吗?有人有什么代码可以复制粘贴吗?