Пытаюсь использовать Selenium 2 с привязками Python, но получаю ошибку импорта - PullRequest
17 голосов
/ 15 сентября 2011

Я только что установил 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 и программированием.Любая помощь с этим будет высоко ценится.

Ответы [ 7 ]

60 голосов
/ 15 сентября 2011

Похоже, у вас есть какой-то другой модуль в вашем пути, называемый "selenium", и python пытается импортировать этот модуль, потому что он появляется раньше в вашем пути python. Например, вы назвали свой файл "selenium.py"?

Для отладки импортируйте селен с простым import selenium, затем напечатайте имя файла, который был импортирован с print selenium.__file__

Если у вас есть файл с именем «selenium.py», который не является подходящей библиотекой selenium, в дополнение к переименованию или удалению, убедитесь, что вы также удалили «selenium.pyc», иначе python будет продолжать пытаться импортировать из файл .pyc.

29 голосов
/ 27 сентября 2012

Старый вопрос, но я тоже так делал. Назвал мой файл «selenium.py», и он дал это самое сообщение об ошибке. Переименовал файл во что-то другое, но все равно получил ту же ошибку. Проблема была в том, что файл selenium.pyc был создан, так как я запустил скрипт из терминала. Удалил файл .pyc, и он запустился как шарм!

4 голосов
/ 06 июня 2014

Хотя вопрос кажется неактивным довольно долгое время, у меня было то же сообщение / похожая проблема, и ни один из ответов выше не подходит.

Сайт http://kevingann.blogspot.de/2012/11/troubleshooting-pydev-and-selenium.html дал решающий намек.

Селен произошел дважды, один раз в системе libs как яйцо, и «установленная» версия во внешних libs. Разбитое яйцо добилось цели.

Надеюсь, это кому-то тоже поможет

2 голосов
/ 27 августа 2015

ошибка ImportError: cannot import name webdriver or no module selenium2library была устранена путем размещения папки селена непосредственно под Lib вместо site_packages

0 голосов
/ 15 июля 2018

Установить интерпретатор проекта как актуальный 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()
0 голосов
/ 07 декабря 2016
  1. У установлена ​​только одна версия Python
  2. Имеется PIP
  3. Добавьте Selenium в библиотеки Python с помощью pip pip install selenium
  4. Запуститескрипт

Надеюсь, что поможет.

0 голосов
/ 29 мая 2016

Ошибка в Pycharm «Не удается найти ссылку« Chrome »в« импортированном модуле selenium.webdriver »» исправлена ​​после копирования директории selenium из пакетов сайта в lib. Может быть проверено, как указано выше

import selenium
print (selenium.__file__)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...