Python导入模块仅适用于新的终端窗口

时间:2013-09-29 01:04:54

标签: python selenium python-module

我正在尝试运行以下python脚本:

from selenium import webdriver

driver = webdriver.PhantomJS()
driver.get('https://www.everlane.com/collections/mens-luxury-tees/products/mens-v-antique')

driver.save_screenshot('screen.png') # save a screenshot to disk
print driver.current_url

images = driver.find_elements_by_tag_name('img')
for image in images:
    print image.get_attribute('src')

但是,每次我尝试运行它时,都会收到此错误:

    FitValet-MacBook-Pro:desktop fitvalet$ python selenium.py
Traceback (most recent call last):
  File "selenium.py", line 1, in <module>
    from selenium import webdriver
  File "/Users/fitvalet/Desktop/selenium.py", line 1, in <module>
    from selenium import webdriver
ImportError: cannot import name webdriver
FitValet-MacBook-Pro:desktop fitvalet$ 

但我已经使用pip install selenium安装了该模块并且安装得很好。当我运行新的终端窗口时,输入python,然后输入from selenium import webdriver,它导入正常。如果我exit() python,然后重新输入并再次尝试,则会发生相同的上述错误,因为它无法导入selenium。如果我重新打开终端,那么它再次工作,但只在终端python窗口。我甚至可以输出每行代码,并在终端中打印出精美的图像!

如果我只是尝试自己运行脚本,它就无法运行。有什么想法为什么?感谢!!!

1 个答案:

答案 0 :(得分:3)

WOW。我无法相信这一点,但我的小脚本,我简单地命名为“selenium.py”,就是问题所在。答案是,不要这样做!当脚本说from selenium import webdriver时,它以某种方式认为它正在调用自己,并产生重大错误。

我将脚本重命名为“myselenium.py”并且工作正常。