tshmylife 发表于 2015-11-11 11:35:26

from selenium import webdriver总是报错,求指点

求指点,自学selenium+python,遇到如下问题:
>>> from selenium import webdriver


>>>
在IDLE中运行时没有报错,但是在IDLE的window窗体中报错
#coding=utf-8

from selenium import webdriver

browser=webdriver.Firefox()

browser.get("http://www.baidu.com")

browser.find_element_by_id("kw1").send_key("selenium")

browser.find_element_by_id("su1").click()

browser.quit()
报错信息为:
Traceback (most recent call last):
File "D:\Python27\skier\selenium.py", line 3, in <module>
    from selenium import webdriver
File "D:\Python27\skier\selenium.py", line 3, in <module>
    from selenium import webdriver
ImportError: cannot import name webdriver

jingzizx 发表于 2015-11-11 13:51:52

成功解决的原因如下:在当前目录有个selenium的文件,Python会先导入这个文件,然后再导入标准库里面的selenium.py可以使用import selenium print selenium.__file__去看打印出的文件路径,如果不是下面类似的C:\Python27\lib\site-packages\selenium-2.31.0-py2.7.egg\selenium\__init__.pyc,需要把当前目录下的文件删除或者重命名

zhuruize 发表于 2015-11-11 14:21:06

换种办法验证一下:先导入selenium然后看selenium有没这个模块
import selenium
dir(selenium)
看看是不是selenium的webdriver放在其他的地方了。

tshmylife 发表于 2015-11-11 15:50:38

jingzizx 发表于 2015-11-11 13:51
成功解决的原因如下:在当前目录有个selenium的文件,Python会先导入这个文件,然后再导入标准库里面的sele ...

>>> print selenium.__file__
D:\Python27\lib\site-packages\selenium\__init__.pyc


>>>
试过这种方法,重命名或者删除selenium文件的话,就连在IDLE的命令模式下输入from selenium import webdriver 时都会报错了

tshmylife 发表于 2015-11-11 15:51:57

zhuruize 发表于 2015-11-11 14:21
换种办法验证一下:先导入selenium然后看selenium有没这个模块
import selenium
dir(selenium)


谢谢哈,不过selenium模块存在
>>> dir(selenium)
['__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__', '__version__', 'selenium']

zhuruize 发表于 2015-11-11 16:18:05

tshmylife 发表于 2015-11-11 15:51
谢谢哈,不过selenium模块存在
>>> dir(selenium)
['__builtins__', '__doc__', '__file__', '__name__ ...

估计在selenium.selenium里面

tshmylife 发表于 2015-12-18 15:20:11

问题解决了,是我的firefox浏览器安装路径不是默认路径,需要卸载重新按默认路径下载安装,就OK了{:4_90:}

tshmylife 发表于 2015-12-18 15:27:09

还有个错误就是send_keys,不是send_key{:4_104:}

快乐我的最爱5 发表于 2016-6-24 15:52:56

zhuruize 发表于 2015-11-11 14:21
换种办法验证一下:先导入selenium然后看selenium有没这个模块
import selenium
dir(selenium)


如果没有webdriver怎么解决呢

zhuruize 发表于 2016-7-6 23:20:19

快乐我的最爱5 发表于 2016-6-24 15:52
如果没有webdriver怎么解决呢

没有重装一下selenium模块吧,一般是有的,或者你再看下是不是dir(selenium.selenium)下面。或者再找一下webdriver在哪个地方想办法导就好了

474846718 发表于 2016-7-18 17:09:05

jingzizx 发表于 2015-11-11 13:51
成功解决的原因如下:在当前目录有个selenium的文件,Python会先导入这个文件,然后再导入标准库里面的sele ...

python根目录下的selenium\目录干扰了ide,ide导错包了!!,真正的selenium包目录在\Lib\site-packages之下!!!

也可以试试python的这个倒包方案:
import sys
p=__import__('selenium.webdriver.firefox.webdriver',fromlist=('WebDriver'))
browser=p.WebDriver()
browser.get('https://www.baidu.com')


这样会导入firefox的webdriver类也可以避免python根目录下的selenium\目录的干扰哦
也可以避免python根目录下的selenium\目录的干扰哦
也可以避免python根目录下的selenium\目录的干扰哦
重要的说三遍!!:D


话说最新版的python端的selenium包里面的那个python根目录下的selenium\目录不知道哪里冒出来的
估计是firefox的webdriver文件,删不得的,删了就启动不了firefox,一启动就崩溃!!!
页: [1]
查看完整版本: from selenium import webdriver总是报错,求指点