51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 19331|回复: 10

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

[复制链接]
  • TA的每日心情
    开心
    2016-11-9 09:54
  • 签到天数: 195 天

    连续签到: 1 天

    [LV.7]测试师长

    发表于 2015-11-11 11:35:26 | 显示全部楼层 |阅读模式
    求指点,自学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


    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    11 小时前
  • 签到天数: 2637 天

    连续签到: 5 天

    [LV.Master]测试大本营

    发表于 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,需要把当前目录下的文件删除或者重命名

    评分

    参与人数 1测试积点 +10 收起 理由
    lsekfe + 10 恭喜你获得测试积点10

    查看全部评分

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-12-11 09:58
  • 签到天数: 38 天

    连续签到: 2 天

    [LV.5]测试团长

    发表于 2015-11-11 14:21:06 | 显示全部楼层
    换种办法验证一下:先导入selenium然后看selenium有没这个模块
    import selenium
    dir(selenium)
    看看是不是selenium的webdriver放在其他的地方了。

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-11-9 09:54
  • 签到天数: 195 天

    连续签到: 1 天

    [LV.7]测试师长

     楼主| 发表于 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 时都会报错了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-11-9 09:54
  • 签到天数: 195 天

    连续签到: 1 天

    [LV.7]测试师长

     楼主| 发表于 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']
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-12-11 09:58
  • 签到天数: 38 天

    连续签到: 2 天

    [LV.5]测试团长

    发表于 2015-11-11 16:18:05 | 显示全部楼层
    tshmylife 发表于 2015-11-11 15:51
    谢谢哈,不过selenium模块存在
    >>> dir(selenium)
    ['__builtins__', '__doc__', '__file__', '__name__ ...

    估计在selenium.selenium里面
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-11-9 09:54
  • 签到天数: 195 天

    连续签到: 1 天

    [LV.7]测试师长

     楼主| 发表于 2015-12-18 15:20:11 | 显示全部楼层
    问题解决了,是我的firefox浏览器安装路径不是默认路径,需要卸载重新按默认路径下载安装,就OK了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-11-9 09:54
  • 签到天数: 195 天

    连续签到: 1 天

    [LV.7]测试师长

     楼主| 发表于 2015-12-18 15:27:09 | 显示全部楼层
    还有个错误就是  send_keys,不是send_key
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2016-6-24 15:52:56 | 显示全部楼层
    zhuruize 发表于 2015-11-11 14:21
    换种办法验证一下:先导入selenium然后看selenium有没这个模块
    import selenium
    dir(selenium)

    如果没有webdriver怎么解决呢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-12-11 09:58
  • 签到天数: 38 天

    连续签到: 2 天

    [LV.5]测试团长

    发表于 2016-7-6 23:20:19 | 显示全部楼层
    快乐我的最爱5 发表于 2016-6-24 15:52
    如果没有webdriver怎么解决呢

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

    使用道具 举报

    该用户从未签到

    发表于 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\目录的干扰哦
    重要的说三遍!!


    话说最新版的python端的selenium包里面的那个python根目录下的selenium\目录不知道哪里冒出来的
    估计是firefox的webdriver文件,删不得的,删了就启动不了firefox,一启动就崩溃!!!

    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-3-29 18:57 , Processed in 0.079599 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表