Python 属性错误:';模块';对象没有属性';Firefox';
我正在尝试使用SeleniumWebDriver生成Firefox的一个实例。在过去,我能够在安装geckodriver并确保它在我的路径上之后做到这一点。然而,我改用phantomjs大约一年了,直到最近才决定再次使用Firefox。不幸的是,现在当我尝试实例化webdriver.Firefox对象时,我得到一个AttributeError,表示该对象没有称为“Firefox”的属性。我不确定是什么改变了导致这个错误 下面是一个shell会话,用于显示我正在使用的环境和错误的性质:Python 属性错误:';模块';对象没有属性';Firefox';,python,selenium,firefox,webdriver,cygwin,Python,Selenium,Firefox,Webdriver,Cygwin,我正在尝试使用SeleniumWebDriver生成Firefox的一个实例。在过去,我能够在安装geckodriver并确保它在我的路径上之后做到这一点。然而,我改用phantomjs大约一年了,直到最近才决定再次使用Firefox。不幸的是,现在当我尝试实例化webdriver.Firefox对象时,我得到一个AttributeError,表示该对象没有称为“Firefox”的属性。我不确定是什么改变了导致这个错误 下面是一个shell会话,用于显示我正在使用的环境和错误的性质: ~$ wh
~$ 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
~$which python
/cygdrive/c/Python27/python
~$哪个壁虎河
/cygdrive/c/Windows/geckodriver
~$python-i
win32上的Python 2.7.12(v2.7.12:d33e0cf91556,2016年6月27日,15:24:40)[MSC v.1500 64位(AMD64)]
有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。
>>>从selenium导入webdriver
>>>browser=webdriver.Firefox()
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
AttributeError:“模块”对象没有属性“Firefox”
>>>主任(网络驱动程序)
['ActionChains'、'DesiredCapabilities'、'PhantomJS'、'Proxy'、'TouchActions'、'uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
>>>打印(webdriver.\uuuu文件\uuuu)
C:\Python27\lib\site packages\selenium\webdriver\\uuuuu init\uuuuuu.pyc
注意:当我尝试从本机windows cmd.exe和空闲运行它时,会发生完全相同的情况,因此此问题似乎不是Cygwin特有的
这在过去是有效的,我甚至在python安装的SitePackages目录中仔细检查了selenium目录,以确认所有必要的文件都在那里。firefox文件确实存在,所以我不知道为什么它们没有被识别,所以我仍然不确定是什么原因导致我的selenium安装中的webdriver.firefox停止工作,但我能够通过使用更新selenium来修复它
pip install -U selenium
注意:如果您对selenium库有任何自定义设置(例如windows上phantomjs的控制台窗口修复),您应该在使用pip更新之前先备份您的内容,然后恢复修改后的文件或根据需要重新修改。我正在使用ubuntu 16.04,我使用geckodriver.exe文件解决了这个问题 ::首先,您必须使用此命令安装selenium>>
for python2:- python -m pip install --user selenium
for python3:- python3 -m pip install --user selenium
::下一步使用下面给出的链接下载geckodriver>>
https://github.com/mozilla/geckodriver/releases
::因为我在使用ubuntu,所以我下载了geckodriver-v0.24.0-linux64.tar.gz现在把它取出来 ::现在在python代码中添加以下行>>
from selenium import webdriver
browser = webdriver.Firefox(executable_path = '/home/aman/Downloads/geckodriver')
browser.get('https://www.google.com')
browser.close()
::在我的电脑中,我在/home/aman/Downloads/geckodriver中提取geckodriver,因此您必须将geckodriver文件的整个路径放在提取文件的位置
::现在运行这个python文件,我希望它一定会对您有用