此错误消息…
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 FilesMozilla Firefoxfirefox.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



