【问题标题】:Unable to invoke firefox headless无法调用 Firefox 无头
【发布时间】:2018-10-29 01:17:24
【问题描述】:

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

Traceback(最近一次调用最后一次): 文件“teste.py”,第 30 行,在

main()

文件“teste.py”,第 24 行,在 main

driver = connectFirefox(defineOptions())

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

driver = webdriver.Firefox(firefox_options=options)

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

如果 options.binary 不是无:

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()

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

【问题讨论】:

标签: python headless-browser google-chrome-headless firefox-headless


【解决方案1】:

我解决了我的问题。代码如下:

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()

【讨论】:

    猜你喜欢
    • 2012-04-21
    • 2019-08-12
    • 1970-01-01
    • 1970-01-01
    • 2018-11-22
    • 2020-05-06
    • 1970-01-01
    • 2019-10-27
    相关资源
    最近更新 更多