Попытка использовать Selenium 2 с привязками Python, но я получаю ошибку импорта
Я только что установил 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()
Я сохранил это как test.py
в подпапке в моей домашней папке на моем Mac, но когда я запускаю python test.py
, я получаю следующий вывод:
Traceback (most recent call last):
File "demo.py", line 1, in <module>
from selenium import webdriver
ImportError: cannot import name webdriver
Если я переведу этот файл в мой домашний каталог, он работает. Если бы вы не могли сказать, я только начинаю с Selenium и программируя. Любая помощь с этим была бы высоко оценена.
Ответы
Ответ 1
Похоже, что у вас есть еще один модуль на вашем пути с именем "selenium", и python пытается импортировать его, потому что он предшествует вашему пути python. Например, вы назвали свой файл "selenium.py"?
Чтобы отладить, импортируйте селен с помощью простого import selenium
, затем распечатайте имя файла, который был импортирован с помощью print selenium.__file__
Если у вас есть файл с именем "selenium.py", который не является надлежащей библиотекой селена, в дополнение к переименованию или удалению, убедитесь, что вы также удалили "selenium.pyc", или python будет продолжать пытаться импортировать из файл .pyc.
Ответ 2
Старый вопрос, но я сделал то же самое. Именовал мой файл "selenium.py", и он дал это сообщение об ошибке. Переименовал файл в другое, но все же получил ту же ошибку. Проблема заключалась в том, что файл selenium.pyc был создан, так как я запускал script из терминала. Удалил .pyc файл, и он бежал как шарм!
Ответ 3
Хотя вопрос кажется неактивным довольно долгое время, у меня было одно и то же сообщение/похожая проблема, и ни один из приведенных выше ответов не подходит.
Сайт http://kevingann.blogspot.de/2012/11/troubleshooting-pydev-and-selenium.html дал решающий намек.
Селен происходил дважды, один раз в системе libs как яйцо, и "установленная" версия во внешних libs. Разбитое яйцо добилось цели.
Надеюсь, это кому-то тоже поможет
Ответ 4
ошибка ImportError: cannot import name webdriver or no module selenium2library
была решена путем размещения папки selenium непосредственно под Lib
вместо site_packages
Ответ 5
Ошибка в Pycharm "Не удалось найти ссылку" Chrome "в" импортированном модуле selenium.webdriver ", который был разрешен после копирования селена из каталога сайта в lib.
Можно проверить, как указано выше.
import selenium
print (selenium.__file__)
Ответ 6
Установить интерпретатор проекта как актуальный python.exe
Я могу успешно запустить приведенный ниже код:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
import time
opts = Options()
prefs = {"profile.managed_default_content_settings.images": 2}
opts.add_experimental_option("prefs", prefs)
# enter complete path of chrome driver as argument to below line of code
browser = webdriver.Chrome('C:\\Users\\BLR153\\AppData\\Local\\Programs\\Python\\Python36-32\\selenium\\chromedriver.exe')
# browser = webdriver.Firefox()
browser.get('http://www.google.com')
time.sleep(10)
browser.quit()
Ответ 7
- Убедитесь, что у вас установлена только одна версия Python
- Установить пипс
- Установить selenium используя pip
pip install selenium
- Запустите скрипт
Надеюсь, это поможет.