AttributeError:“选项"对象没有属性“二进制"错误,它通过Selenium使用GeckoDriver调用Headless Firefox [英] AttributeError: 'Options' object has no attribute 'binary' error invoking Headless Firefox using GeckoDriver through Selenium

查看:93
本文介绍了AttributeError:“选项"对象没有属性“二进制"错误,它通过Selenium使用GeckoDriver调用Headless Firefox的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

options = FirefoxOptions()
options.add_argument("--headless")


driver = webdriver.Firefox(firefox_options=options, executable_path='/Users/toprak/Desktop/geckodriver') 
driver.get("https://twitter.com/login?lang=en")

当我尝试运行代码时,出现此错误:

When I try to run my code, I get this error:

Warning (from warnings module):
  File "/Users/toprak/Desktop/topla.py", line 19
    driver = webdriver.Firefox(firefox_options=options, executable_path='/Users/toprak/Desktop/geckodriver')
DeprecationWarning: use options instead of firefox_options
Traceback (most recent call last):
  File "/Users/toprak/Desktop/topla.py", line 19, in <module>
    driver = webdriver.Firefox(firefox_options=options, executable_path='/Users/toprak/Desktop/geckodriver')
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/selenium/webdriver/firefox/webdriver.py", line 137, in __init__
    if options.binary is not None:
AttributeError: 'Options' object has no attribute 'binary'

当我删除有关选项的行并删除"firefox_options = options"时,代码可以正常工作.我该怎么做才能解决此问题?

When I delete the lines which are about options and take out "firefox_options=options", the code works fine. What should I do to fix this?

推荐答案

代替使用 firefox_options 对象,您需要使用 options 对象.另外,您需要使用 headless 属性.因此,您的有效代码块将是:

Instead of using firefox_options object you need to use options object. Additionally you need to use the headless attribute. So your effective code block will be:

options = FirefoxOptions()
options.headless = True

driver = webdriver.Firefox(executable_path='/Users/toprak/Desktop/geckodriver', options=options) 
driver.get("https://twitter.com/login?lang=en")


参考文献

您可以在以下位置找到几个相关的详细讨论:


References

You can find a couple of relevant detailed discussions in:

这篇关于AttributeError:“选项"对象没有属性“二进制"错误,它通过Selenium使用GeckoDriver调用Headless Firefox的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆