Невозможно вызвать Firefox без головы - PullRequest
0 голосов
/ 18 мая 2018

Я хотел бы знать, почему я получаю следующее сообщение об ошибке и как я могу это исправить:

Traceback (последний вызов был последним): файл "teste.py", строка 30, в <\ module>

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 не равен None:

AttributeError: объект 'Options'не имеет атрибута «двоичный»

Мой код:

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 без головы.

1 Ответ

0 голосов
/ 18 мая 2018

Я решил свою проблему.Вот код:

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