web-dev-qa-db-fra.com

Essayer d'utiliser Selenium 2 avec des liaisons Python, mais j'obtiens une erreur d'importation

Je viens d'installer Selenium 2 en faisant pip install Selenium et de copier quelques exemples de tests pour vérifier que tout fonctionne correctement:

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

J'ai enregistré cela sous le nom test.py dans un sous-dossier de mon dossier personnel sur mon Mac, mais chaque fois que j'exécute python test.py, le résultat suivant s'affiche:

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

Si je déplace ce fichier dans mon répertoire personnel, cela fonctionne. Si vous ne le savez pas, je commence tout juste avec Selenium et la programmation. Toute aide à ce sujet serait très appréciée.

17
Cass

Il semble que vous ayez un autre module dans votre chemin nommé "Selenium", et python tente de l'importer, car il vient plus tôt dans votre chemin python. Avez-vous nommé votre fichier "Selenium.py", par exemple?

Pour déboguer, importez Selenium avec un import Selenium simple, puis imprimez le nom du fichier importé avec print Selenium.__file__.

Si vous avez un fichier nommé "Selenium.py" qui n'est pas la bibliothèque Selenium appropriée, en plus de le renommer ou de le supprimer, veillez également à supprimer "Selenium.pyc", sinon Python continuera d'essayer d'importer à partir du fichier. fichier. 

60
Bryan Oakley

Vieille question, mais j'ai fait la même chose aussi. Nommé mon fichier 'Selenium.py' et il a donné ce message d'erreur même. Renommé le fichier en quelque chose d'autre, mais toujours la même erreur. Le problème était que le fichier Selenium.pyc avait été créé, car j'avais exécuté le script à partir du terminal. Suppression du fichier .pyc qui fonctionnait à merveille!

28
Kanuj Bhatnagar

Bien que la question semble être inactive assez longtemps, j'ai eu le même message/problème similaire, et aucune des réponses ci-dessus ne correspond.

Le site http://kevingann.blogspot.de/2012/11/troubleshooting-pydev-and-Selenium.html a donné un indice crucial.

Sélénium est apparu deux fois, une fois dans la bibliothèque système sous la forme Egg et la version "installée" dans la bibliothèque externe. Smashing the Egg a fait l'affaire.

J'espère que cela aidera quelqu'un aussi

4
Lord_Gestalter

l'erreur ImportError: cannot import name webdriver or no module Selenium2library a été résolue en plaçant le dossier Selenium directement sous Lib au lieu de site_packages

2
Selenium2_user

Erreur dans Pycharm "Impossible de trouver la référence 'Chrome' dans 'le module importé Selenium.webdriver'" a été résolu après la copie du répertoire Selenium depuis les packages de site dans lib. Peut être vérifié comme indiqué ci-dessus.

import Selenium
print (Selenium.__file__)
0
Karan Thakur

Définit l'interpréteur de projet comme python.exe réel

Je suis capable d'exécuter avec succès le code ci-dessous:

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
Suresh Parimi