小编典典

AttributeError:“模块”对象没有属性“ Firefox”

python

我正在尝试使用Selenium
WebDriver生成Firefox实例。过去,在安装geckodriver并确保它位于我的PATH之后,我能够执行此操作。但是,我切换到使用phantomjs已有大约一年的时间,直到最近才决定再次试用Firefox。不幸的是,现在当我尝试实例化webdriver.Firefox对象时,我得到了AttributeError,称该对象没有称为“
Firefox”的此类属性。我不确定是什么原因导致此错误。

下面是一个shell会话,用于显示我正在使用的环境以及错误的性质:

~$ which python
/cygdrive/c/Python27/python
~$ which geckodriver
/cygdrive/c/Windows/geckodriver
~$ python -i
Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:24:40) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from selenium import webdriver
>>> browser = webdriver.Firefox()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'Firefox'
>>> dir(webdriver)
['ActionChains', 'DesiredCapabilities', 'PhantomJS', 'Proxy', 'TouchActions', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__', '__version__', 'common', 'phantomjs', 'remote']
>>> print(webdriver.__file__)
C:\Python27\lib\site-packages\selenium\webdriver\__init__.pyc

注意:当我尝试从本机Windows cmd.exe和IDLE运行它时,会发生完全相同的事情,因此此问题似乎并非特定于Cygwin

这在过去是可行的,我什至在我的python安装中甚至再次检查了site-
packages目录中的硒目录,以确认所有必需的文件都在那里。firefox文件确实存在,所以我不知道为什么它们未被识别


阅读 316

收藏
2021-01-20

共1个答案

小编典典

所以我仍然不太确定硒安装中的更改是什么导致了webdriver.Firefox停止工作,但是我能够通过使用以下命令更新硒来修复它

pip install -U selenium

注意:如果您对selenium库进行了任何自定义设置(例如Windows上phantomjs的控制台窗口修复程序),则应先备份内容,然后再使用pip更新,然后还原修改后的文件或根据需要进行重新修改。

2021-01-20