无法无头调用 Firefox

Rog*_*_88 6 python headless-browser google-chrome-headless firefox-headless

我想知道为什么会收到以下错误消息以及如何修复它:

回溯(最近一次调用):<\module> 中的文件“teste.py”,第 30 行

主要的()

文件“teste.py”,第 24 行,在主目录中

驱动程序 = connectFirefox(defineOptions())

文件“teste.py”,第 18 行,在 connectFirefox 中

驱动程序 = webdriver.Firefox(firefox_options=options)

文件“/usr/lib/python3.6/site-packages/selenium/webdriver/firefox /webdriver.py”,第 125 行,在init 中

如果 options.binary 不是 None:

AttributeError: 'Options' 对象没有属性 'binary'

我的代码:

from selenium import webdriver
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.chrome.options import Options

def defineOptions():
    options = Options()
    options.add_argument("--headless")
    return options

def connectChrome(options):
    chromeDriverPath = "/usr/bin/chromedriver"
    driver = webdriver.Chrome(chromeDriverPath, chrome_options=options)
    print("Chrome Headless Browser Invoked")
    return driver

def connectFirefox(options):
    driver = webdriver.Firefox(firefox_options=options)
    print("Firefox Headless Browser Invoked")
    return driver

def main():
    #driver = connectChrome(defineOptions())
    driver = connectFirefox(defineOptions())
    driver.get("https://www.archlinux.org/")
    print("Headless Browser closing")
    driver.quit()
#------------------------------------------------------------------------#

main()
Run Code Online (Sandbox Code Playgroud)

我想要做的是编写一个代码,我可以在其中轻松选择 Chrome 或 Firefox 无头。

Rog*_*_88 11

我解决了我的问题。这里的代码:

from selenium import webdriver
from selenium.webdriver.firefox.options import Options as FirefoxOptions
from selenium.webdriver.chrome.options import Options as ChromeOptions

def connectChrome():
    options = ChromeOptions()
    options.add_argument("--headless")
    chromeDriverPath = "/usr/bin/chromedriver"
    driver = webdriver.Chrome(chromeDriverPath, chrome_options=options)
    print("Chrome Headless Browser Invoked")
    return driver

def connectFirefox():
    options = FirefoxOptions()
    options.add_argument("--headless")
    driver = webdriver.Firefox(firefox_options=options)
    print("Firefox Headless Browser Invoked")
    return driver

def main():
    #driver = connectChrome()
    driver = connectFirefox()
    driver.get("https://www.archlinux.org/")
    print("Headless Browser closing")
    driver.quit()
#------------------------------------------------------------------------#
main()
Run Code Online (Sandbox Code Playgroud)