关于selenium:使用python 3在无头模式下运行firefox浏览器时出错

Getting error while running firefox browser in headless mode using python 3

我只是想用无头浏览器运行这个程序,我不明白为什么它会不断地向我抛出错误,即使我已经提供了参数。在这里,我已经阅读到它需要参数来传递选项。add_argument():-https://seleniumhq.github.io/selenium/docs/api/py/webdriver_firefox/selenium.webdriver.firefox.options.html module-selenium.webdriver.firefox.options

错误:-typeerror:add_argument()缺少1个必需的位置参数:"argument"

1
2
3
4
5
6
7
8
9
10
11
from selenium import webdriver
from selenium.webdriver.firefox.options import Options


options = Options.add_argument('-headless')
browser = webdriver.Firefox(options)
browser.get('https://intoli.com/blog/email-spy/')
browser.implicitly_wait(50)
heading = browser.find_element_by_xpath('//*[@id="heading-breadcrumb"]/div/div/div/h1').text
print(heading)
browser.close()

在调用对象的属性之前,应该创建一个对象选项。有关@property如何工作的更多信息,请参阅此答案。

1
2
3
4
# create a new object
options = Options()
# calling the property (setter)
options.add_argument('-headless')

更新:此外,代码示例似乎还有其他问题。如果您只想提供firefox_选项,您应该将其作为关键字参数,因此必须明确提供:

1
browser = webdriver.Firefox(firefox_options=options)