Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Selenium Firefox-如何作为类/对象的一部分启用headless模式?_Python_Selenium_Firefox_Options_Geckodriver - Fatal编程技术网

Python Selenium Firefox-如何作为类/对象的一部分启用headless模式?

Python Selenium Firefox-如何作为类/对象的一部分启用headless模式?,python,selenium,firefox,options,geckodriver,Python,Selenium,Firefox,Options,Geckodriver,我有以下代码: 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的方法的一部分。这是可行的——我可以输入并打开U

我有以下代码:

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\u options=options().set\u headless(headless=True)
——但这不起作用,所以我如上所述进行了尝试)


我缺少什么?我不明白为什么驱动程序能够打开页面,但选项未启用。

请尝试以下代码:

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

请尝试以下代码:

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

这肯定对你有用。试试吧。请指定驱动程序的路径。这是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()

这肯定对你有用。试试吧。请指定驱动程序的路径。这是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()

在较新的版本中,我非常确定你也可以做
options.headless=True
。在较新的版本中,我非常确定你也可以做
options.headless=True
。谢谢你,伙计。我确定这会起作用,它与我以前的非常相似。但是,我尝试将它放在类/对象的形式中,这样我就不会实例化一个n我要打开的每个url的ew webdriver。根据已接受的答案,
选项。添加参数(“--headless”)
确实解决了这个问题。欢迎使用Stack Overflow=)谢谢dude。我相信这会管用的,它和我以前的非常相似。然而,我试着将它放在类/对象的形式中,这样我就不会为我想要打开的每个url实例化一个新的webdriver。根据公认的答案,
options.add_参数(“--headless”)
确实解决了这个问题。欢迎使用堆栈溢出=)