Python Selenium Firefox - как включить безголовый режим как часть класса / объекта? - PullRequest
0 голосов
/ 02 ноября 2018

У меня есть следующий код:

options = Options()
options = options.set_headless( headless=True)

class Sel_Driver():

    def __init__(self):
        self.driver = webdriver.Firefox(firefox_options=options)

Затем я могу использовать self.driver.get(url) как часть метода для открытия URL-адресов, которые я вношу. Это работает - я могу вводить и открывать URL-адреса, но они не работают в режиме без заголовка.

(я изначально определил драйвер как self.driver = webdriver.Firefox(firefox_options=Options().set_headless(headless=True) - но это не сработало, поэтому я попробовал его, как указано выше).

Чего мне не хватает? Я не понимаю, почему драйвер может открывать страницы, но опции не включены.

Ответы [ 2 ]

0 голосов
/ 02 ноября 2018

Это будет работать для вас точно. Попробуйте. Пожалуйста, укажите путь к драйверу. Для chrome измените его на firefox.

from pyvirtualdisplay import Display
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument("--headless")
driver = webdriver.Chrome(chrome_options=options, executable_path="C:\\Users\\Username\\Downloads\\chromedriver.exe")
print("Firefox Headless Browser Invoked")
driver.get('https://www.facebook.com/')
jks = driver.find_element_by_id("email").get_attribute("class")
print(jks)
driver.quit()
0 голосов
/ 02 ноября 2018

Пожалуйста, попробуйте следующий код:

options = Options()
options.add_argument("--headless")
driver = webdriver.Firefox(firefox_options=options)
...