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

时间:2017-09-07 07:47:28

标签: python selenium headless headless-browser

我只是试图使用无头浏览器运行这个我不明白为什么它一直把我误解,即使我提供了参数。在这里我读过它需要参数传递options.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'

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

1 个答案:

答案 0 :(得分:1)

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

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

更新: 此外,您的代码示例似乎还有其他问题。 如果你只想提供firefox_options,你应该把它作为关键字参数,所以你必须明确地提供它:

browser = webdriver.Firefox(firefox_options=options)