51Testing软件测试论坛

标题: python+selenium,第一个程序运行就失败了 [打印本页]

作者: ykt    时间: 2017-4-18 19:47
标题: python+selenium,第一个程序运行就失败了
代码:
# coding=utf-8
from selenium import webdriver

driver=webdriver.Firefox()
driver.get("http://www.baidu.com")

driver.find_element_by_id("kw").send_keys("Selenium2")
driver.find_element_by_id("su").click()
driver.quit()

错误提示是这样的:
Traceback (most recent call last):
  File "C:\baidu.py", line 4, in <module>
    driver=webdriver.Firefox()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 144, in __init__
    self.service.start()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\common\service.py", line 96, in start
    self.assert_process_still_running()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\common\service.py", line 109, in assert_process_still_running
    % (self.path, return_code)
selenium.common.exceptions.WebDriverException: Message: Service geckodriver unexpectedly exited. Status code was: 2

真的搞不明白了,求大神帮忙,我是自学的,小白一个
作者: cq520131517    时间: 2017-4-19 07:52
你的selenium版本时多少的,如果是3及以上需要单独下驱动器,而且版本和路径都要正确。版本不对也是枉然。百度一下下个对应的版本。
作者: 掉渣饼    时间: 2017-4-19 08:55
你的selenium版本和火狐浏览器版本应该不兼容,你的火狐浏览器版本是多少?selenium版本是多少
作者: 梦想家    时间: 2017-4-19 09:22
火狐是不是自动升级最新版的不支持呀
作者: 18810143184    时间: 2017-4-19 15:58
下载个geckodriver 然后放到Python27或者更高版本安装目录下,就可以运行了
作者: ykt    时间: 2017-4-20 13:17
cq520131517 发表于 2017-4-19 07:52
你的selenium版本时多少的,如果是3及以上需要单独下驱动器,而且版本和路径都要正确。版本不对也是枉然。 ...

selenium好像是3.几版本,火狐是52,好不容易chrome能运行成功了,还提示我不安全,提示我用开发者模式运行,data;不安全。。。,然后我又下了个43版本的火狐,也不行,最后就把python、火狐、chrome全卸载了,,重新安装的,还在安装中。。
作者: ykt    时间: 2017-4-20 13:19
掉渣饼 发表于 2017-4-19 08:55
你的selenium版本和火狐浏览器版本应该不兼容,你的火狐浏览器版本是多少?selenium版本是多少

火狐是52,selenium是,,3.几,是因为火狐版本太新了吗
作者: ykt    时间: 2017-4-20 13:22
梦想家 发表于 2017-4-19 09:22
火狐是不是自动升级最新版的不支持呀

我也不知道,特蒙,后来安装了一个43的,也不行,难道是我的代码有问题?
driver.find_element_by_id("kw").send_keys("Selenium2")
难道是("Selenium2")这有问题?难道应该写成("Selenium3")??
作者: 掉渣饼    时间: 2017-4-20 13:24
ykt 发表于 2017-4-20 13:19
火狐是52,selenium是,,3.几,是因为火狐版本太新了吗

可以参考下这个帖子
http://www.cnblogs.com/ppppying/p/6143803.html
作者: ykt    时间: 2017-4-20 13:24
18810143184 发表于 2017-4-19 15:58
下载个geckodriver 然后放到Python27或者更高版本安装目录下,就可以运行了

好的,我之前虽然下了,但是不会用,,就全都卸载了,,全部重新下的,这次再试试!
作者: ykt    时间: 2017-4-20 13:55
掉渣饼 发表于 2017-4-20 13:24
可以参考下这个帖子
http://www.cnblogs.com/ppppying/p/6143803.html

非常非常感谢!
作者: ykt    时间: 2017-4-20 17:02
掉渣饼 发表于 2017-4-20 13:24
可以参考下这个帖子
http://www.cnblogs.com/ppppying/p/6143803.html

我失败了,,怎么改都报错。。
Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\baidu.py", line 4, in <module>
    driver = webdriver.Firefox()
  File "D:\Program Files\python ykt\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 144, in __init__
    self.service.start()
  File "D:\Program Files\python ykt\lib\site-packages\selenium\webdriver\common\service.py", line 96, in start
    self.assert_process_still_running()
  File "D:\Program Files\python ykt\lib\site-packages\selenium\webdriver\common\service.py", line 109, in assert_process_still_running
    % (self.path, return_code)
selenium.common.exceptions.WebDriverException: Message: Service geckodriver unexpectedly exited. Status code was: 2

作者: ykt    时间: 2017-4-20 18:00
用chrome吧,,还提示我数据不安全,,

作者: ykt    时间: 2017-4-20 19:15
解决了!,,,,,,,不容易啊!!难得不会,会的不难啊!!!chrome版本太高了,换了个52的,虽然还是提示不安全,data什么的,不过总算是看见百度了,,,,我的妈呀!!!不容易啊!!!!想当初给codeblocks汉化的时候,找遍百度,就是不知道codeblocks的安装目录在哪里,给自己折磨的要疯了,几天过后,终于找到了安装目录,,,,,,,,,呵呵,,,那时候的自己对电脑一无所知,,,,,,,希望大家的付出都有回报!!!!!!!!
作者: cq520131517    时间: 2017-4-21 16:02
“好不容易chrome能运行成功了,还提示我不安全,提示我用开发者模式运行”。你的驱动器与浏览器版本不匹配造成的。
作者: cq520131517    时间: 2017-4-21 16:04
谷歌浏览器版本与驱动器版本对应:http://blog.csdn.net/manyao03/article/details/52035307
作者: cq520131517    时间: 2017-4-21 16:06
selenium3.0以下,用火狐不用驱动器。你初学,我建议用python2.7+selenium2.0+firefox32.0,这种搭配比较好

作者: ykt    时间: 2017-4-21 19:14
cq520131517 发表于 2017-4-21 16:02
“好不容易chrome能运行成功了,还提示我不安全,提示我用开发者模式运行”。你的驱动器与浏览器版本不匹配 ...

嗯嗯,是这样的,我换了一个低版本的chrome,可以了,不过还是提示我data;和不安全,不过总算是能运行成功了,脚本可以运行了
作者: ykt    时间: 2017-4-21 19:17
cq520131517 发表于 2017-4-21 16:06
selenium3.0以下,用火狐不用驱动器。你初学,我建议用python2.7+selenium2.0+firefox32.0,这种搭配比较好
...

哎哟,特别感谢,在网上搜索版本怎么搭配,可就是搜不到,感谢,感谢
作者: 梦想家    时间: 2017-5-9 10:18
http://bbs.51testing.com/forum.p ... ;page=21#pid3819826    这个帖子里有对应谷歌浏览器的版本




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2