尝试使用Selenium 2与Python绑定,但我收到导入错误

Cas*_*ass 17 python webdriver selenium-webdriver

我刚刚安装了Selenium 2 pip install selenium并且只是复制了一些示例测试以确保它正常工作:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
driver.get("http://www.python.org")
assert "Python" in driver.title
elem = driver.find_element_by_name("q")
elem.send_keys("selenium")
elem.send_keys(Keys.RETURN)
assert "Google" in driver.title
driver.close()
Run Code Online (Sandbox Code Playgroud)

我将其保存test.py在Mac上我的Home文件夹中的子文件夹中,但是当我运行时python test.py,我得到以下输出:

Traceback (most recent call last):
  File "demo.py", line 1, in <module>
    from selenium import webdriver
ImportError: cannot import name webdriver
Run Code Online (Sandbox Code Playgroud)

如果我将该文件移动到我的主目录,它可以工作.如果你不知道,我只是开始使用Selenium和编程.任何有关这方面的帮助将非常感激.

Bry*_*ley 61

听起来你的路径中有一些名为"selenium"的其他模块,而python正试图导入那个模块,因为它在你的python路径中更早出现.例如,您是否将文件命名为"selenium.py"?

要进行调试,请使用simple导入selenium,import selenium然后打印导入的文件的名称print selenium.__file__

如果你有一个名为"selenium.py"的文件,它不是正确的selenium库,除了重命名或删除它之外,请确保你还删除"selenium.pyc",否则python将继续尝试从.pyc导入文件.

  • 谢谢你,当我在一个名为selenium.py ...的文件中进行测试时帮助了我... :) (19认同)
  • 在我的情况下,我不小心命名我的py文件selenium.py (2认同)

Kan*_*gar 29

老问题,但我也做了同样的事情.将我的文件命名为'selenium.py',它给出了这个非常错误的消息.将文件重命名为其他内容,但仍然出现相同的错误.问题是,selenium.pyc文件已经创建,因为我从终端运行脚本.删除.pyc文件,它就像一个魅力!

  • +1当我错误地命名我的文件selenium.py时,我发现了这个问题 - 解决方法是删除selenium.pyc文件,如上所述 (3认同)

Lor*_*ter 5

尽管这个问题似乎已经很长时间没有解决,但我有相同的消息/类似的问题,并且上述任何一个答案都不合适。

网站http://kevingann.blogspot.de/2012/11/troubleshooting-pydev-and-selenium.html提供了关键提示。

硒发生了两次,一次在系统库中作为egg出现,而“已安装”版本在外部库中出现。捣蛋就可以了。

希望这也会对某人有所帮助