2011-09-15 17 views
17

pip install seleniumを使ってSelenium 2をインストールしましたが、それが動作していることを確認するためのサンプルテストをいくつかコピーしました:PythonバインディングでSelenium 2を使用しようとしましたが、インポートエラーが発生しました

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() 

私のMac上のホームフォルダのサブフォルダにtest.pyとして保存しました。私はpython test.pyを実行すると、次の出力が得られます。

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

ファイルをホームディレクトリに移動すると動作します。あなたが言うことができない場合、私はちょうどセレンとプログラミングを始めています。これについてのどんな助けも大いに感謝されるでしょう。

答えて

59

あなたのパスに "selenium"という名前の他のモジュールがあるようですが、pythonはそのパスをPythonパスの前に置くので、そのパスをインポートしようとしています。例えば、あなたのファイルに "selenium.py"という名前を付けましたか?デバッグに

、簡単なimport seleniumと輸入セレンあなたが適切なセレンライブラリではありません「selenium.py」という名前のファイルを持っている場合は、加えて、print selenium.__file__

でインポートされたファイルの名前を印刷名前を変更したり削除したりするには、 "selenium.pyc"も削除してください。そうしないと、pythonは引き続き.pycファイルからインポートしようとします。

+0

私が得た出力は '/Library/Python/2.7/site-packages/selenium/__ init __。pyc'でした。 これは正しいですか? – Cass

+0

はい、正しく表示されます。それはあなたのホームディレクトリに移動した後ですか?インポートエラーが発生する場所にあることを確認してください。そうしないと、あなたが知っていることを証明しているだけで、ホームディレクトリのバージョンが機能します。 –

+19

ありがとう、私はファイル(私は愚かに)selenium.pyという名前でテストを行っていたときに助けてくれた... :) –

27

古い質問ですが、私も同じことをしました。私のファイル 'selenium.py'と名前を付けました。そして、この非常にエラーメッセージを出しました。ファイルを別の名前に変更しましたが、同じエラーが発生しました。問題は、ターミナルからスクリプトを実行したので、selenium.pycファイルが作成されていたことです。 .pycファイルを削除し、それは魅力的に走った!

+0

私は端末を閉じて新しいものを開く必要があったので、変更が反映されました – Ander2

+2

+1私は誤って自分のファイルselenium.pyの名前をつけたときにこの問題を発見しました。 .pycファイルに記載されているように –

4

質問はかなり長い間不活発だったようですが、私は同じメッセージ/同様の問題を抱えていました。

サイトhttp://kevingann.blogspot.de/2012/11/troubleshooting-pydev-and-selenium.htmlが重要なヒントを与えました。

セレンはシステムライブラリのeggとして2回、外部ライブラリの "installed"バージョンで2回発生しました。卵を粉砕することはやりました。これは誰かあまりにもエラーImportError: cannot import name webdriver or no module selenium2libraryがに 『クローム』の参照を見つけることができません」Pycharmに直接Lib代わり

+0

うん、それは助けて、その中にこのコンテンツだけで、すべてのものが動作していたが、C:\ Anaconda3 \ seleniumのセレンフォルダを持っていたが、Pycharmは常にイエローの警告を叫んだ。インポートされたモジュールselenium.webdriver ': それはこの1つを隠しているようです: c:\ Anaconda3 \ Lib \ site-packages \ selenium \ c:\ Anaconda3 \ seleniumを削除した後、pycharmに警告はありません – Hellohowdododo

2

「インポートされたモジュールselenium.webdriver役立つ

・ホープ''はサイトパッケージからlibにセレンディレクトリをコピーした後に解決されました。

import selenium 
print (selenium.__file__) 
0

site_packagesのエラーの下に置くことセレンフォルダによって解決された

-2
  1. 上述したように は一つだけのpythonバージョンがインストールされてい
  2. しているPIP
  3. はセレン
  4. スクリプト
  5. を実行ピップ ピップをインストールし使用してPythonライブラリにセレンを追加検証することができます

希望に役立ちます。

関連する問題