Подтвердить что ты не робот

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

4b9b3361

Ответ 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

  1. Убедитесь, что у вас установлена только одна версия Python
  2. Установить пипс
  3. Установить selenium используя pip
    pip install selenium
  4. Запустите скрипт

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