【问题标题】:Selenium AttributeError: 'str' object has no attribute 'native_events_enabled'Selenium AttributeError:“str”对象没有属性“native_events_enabled”
【发布时间】:2018-01-17 18:17:43
【问题描述】:

我在我的代码中像这样输入 selenium firefox, 我在 Windows 上运行 python 2.7 并使用 bash 和 conda

driver = webdriver.Firefox('./firefoxdriver')

这是我的终端所说的:

C:\Users\Vinko\Desktop\predictBO-master>bash oakniiv@vinko:/mnt/c/Users/Vinko/Desktop/predictBO-master$ source activate predictboba (predictboba) oakniiv@vinko:/mnt/c/Users/Vinko/Desktop/predictBO-master$ python demotrade_tf.py Traceback (most recent call last):   File "demotrade_tf.py", line 99, in <module>
    driver = webdriver.Firefox('./firefoxdriver')   File "/home/oakniiv/anaconda2/envs/predictboba/lib/python2.7/site-packages/selenium/webdriver/firefox/webdriver.py", line 53, in __init__
    self.NATIVE_EVENTS_ALLOWED and self.profile.native_events_enabled) AttributeError: 'str' object has no attribute 'native_events_enabled'

不知道还能给你什么,看来问题出在firefox本身?

当我做driver = webdriver.Firefox()时它工作

【问题讨论】:

  • 请阅读为什么screenshot of HTML or code or error is a bad idea。考虑使用基于格式化文本的 HTML 和代码试验来更新问题。
  • 您要将路径传递给FirefoxProfile 还是geckodriver?请注意,当您仅使用单个字符串参数创建 Chrome() 的实例时 - 分配给 executable_path 的新值,但在 Firefox() 的情况下 - 分配给 firefox_profile 的新值。如果你想为geckodriver设置新路径,你需要明确地设置它——driver = webdriver.Firefox(executable_path='./firefoxdriver')

标签: python selenium


【解决方案1】:

您将str 传递为FirefoxProfile,这就是问题所在:

 driver = webdriver.Firefox('./firefoxdriver')

你想要:

profile = webdriver.FirefoxProfile('./firefoxdriver')
driver = webdriver.Firefox(profile)

如果您不打算使用自定义配置文件,则可以使用默认值:

driver = webdriver.Firefox()

【讨论】:

  • 抱歉,错误地编辑了您的答案。我的意思是编辑我的(由于某种原因没有出现)。
猜你喜欢
  • 2018-12-26
  • 1970-01-01
  • 2018-10-19
  • 1970-01-01
  • 1970-01-01
  • 2018-09-10
  • 2021-10-04
  • 2019-12-02
  • 2021-09-25
相关资源
最近更新 更多