当前位置: 首页 > 面试题库 >

WebDriverException:消息:浏览器似乎已经退出,然后才能使用GeckoDriver Selenium和Python连接错误

夏知
2023-03-14
问题内容

大约有100个关于同一问题的帖子,但似乎没有一个适合我,因此再次询问。我正在尝试使用Python和Selenium启动Firefox浏览器,但出现以下错误:

WebDriverException
:消息:浏览器似乎已经退出,无法连接。如果您在FirefoxBinary构造函数中指定了log_file,请检查它以获取详细信息。

我尝试了网络上的每个答案,但似乎没有任何效果。

这是我的代码:

from selenium import webdriver
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

caps = DesiredCapabilities.FIREFOX
caps["marionette"] = False

binary = FirefoxBinary('d:\\Desktop\\IEDriver\\geckodriver.exe')

options = Options()
options.set_headless(headless=True)
driver = webdriver.Firefox(firefox_binary=binary, firefox_options=options, executable_path=r'd:\\Desktop\\IEDriver\\geckodriver.exe')
driver.get("http://google.com/")
print ("Headless Firefox Initialized")
driver.quit()

如果我设置了,caps["marionette"] = True那么我得到的错误是

SessionNotCreatedException :消息:无法找到匹配的功能集

我正在运行的软件版本:

Firefox :62.0(64位)

selenium :3.14.0

壁虎 :0.21.0

的Python :3

操作系统 :Windows 8.1 64 bit

任何帮助将不胜感激。

编辑:我已经卸载并重新安装了Firefox,但是没有用。还尝试安装Firefox 61.0.2,仍然没有运气。


问题答案:

此错误消息…

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.

…暗示 GeckoDriver 无法启动/产生新的 WebBrowser,Firefox浏览器 会话。

您需要注意以下几点:

  • 要设置,FirefoxBinary您需要使用FirefoxOptions()和,而不是传递 geckodriver* 二进制文件的 绝对路径 必须传递所需的 firefox 二进制文件的 绝对路径*
  • 在使用 GeckoDriver v0.21.0时, 您必须强制使用 木偶, 因此请使其保持不变(默认情况下true)或将 木偶 设置为 true
  • 您自己的代码(其中包含一些小的更改)将是:
        from selenium import webdriver
    from selenium.webdriver.firefox.options import Options
    from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

    binary = r'C:\Program Files\Mozilla Firefox\firefox.exe'
    options = Options()
    options.set_headless(headless=True)
    options.binary = binary
    cap = DesiredCapabilities().FIREFOX
    cap["marionette"] = True #optional
    driver = webdriver.Firefox(firefox_options=options, capabilities=cap, executable_path="C:\\Utility\\BrowserDrivers\\geckodriver.exe")
    driver.get("http://google.com/")
    print ("Headless Firefox Initialized")
    driver.quit()
  • 控制台输出:
    Headless Firefox Initialized
    


 类似资料:
  • 本文向大家介绍jquery判断浏览器后退时候弹出消息的方法,包括了jquery判断浏览器后退时候弹出消息的方法的使用技巧和注意事项,需要的朋友参考一下 浏览器后退时必定会有一些消息,这里使用jquery判断浏览器后退并弹出消息

  • 问题内容: 我在www.darknovagames.com上运行了基于浏览器的游戏。最近,我一直在努力使用CSS重新格式化该网站,试图让其所有页面都根据HTML标准进行验证。 我一直在想着要在页面左侧放置AJAX导航菜单的想法(而不是每次都将用户带到一个单独的页面,而是需要重新加载标题和导航栏,而这几乎是不会改变的),我知道如果这样做,我可能会破坏浏览器中的“前进/后退”按钮。我的问题是,我应该继

  • 问题内容: 执行登录功能后,“在树中查看结果”中的响应数据显示如下: 您的浏览器似乎禁用了JavaScript。 您必须在浏览器中启用JavaScript才能使用本网站的功能。 注意:已启用Firefox中的JavaScript,并且我已使用“测试脚本记录器”来记录浏览器会话。 问题答案: 从JMeter项目主页 JMeter不是浏览器。 就Web服务和远程服务而言,JMeter看起来像一个浏览器

  • 我的问题是,我怎么能退出铬使用java请回答一个导入和打包,我是一个初学者:) 我试过了:但是我知道< code>exec(String command)得到一个指定的系统命令,所以它是错误的。还有其他方法吗? 我得到的按摩是创造过程...无法运行程序“https://www.youtube.com/watch?v=Ei3Vymb_lFM

  • 本文向大家介绍如何禁止浏览器使用后退按钮功能,包括了如何禁止浏览器使用后退按钮功能的使用技巧和注意事项,需要的朋友参考一下 本文介绍可找到的各种禁用浏览器后退按钮方案,分析它们各自的优缺点和适用场合。 一、概述    曾经有许多人问起,“怎样才能‘禁用'浏览器的后退按钮?”,或者“怎样才能防止用户点击后退按钮返回以前浏览过的页面?”在ASP论坛上,这个问题也是问得最多的问题之一。遗憾的是,答案非常

  • 控制台错误png我们一直试图通过使用以下代码打印特定网站的控制台错误。但是我们无法捕捉控制台错误。有人能给出快速响应吗 代码行: 错误: 代码行: 错误: 代码块: