大约有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那么我得到的错误是
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()
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