抛出问题:
window系统python的shell脚本运行脚本报错:Traceback (most recent call last):
File "D:\python-py\ceshi.py", line 2, in
driver=webdriver.Firefox()
File "C:\Python36\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 164, in __init__
self.service.start()
File "C:\Python36\lib\site-packages\selenium\webdriver\common\service.py", line 104, in start
raise WebDriverException("Can not connect to the Service %s" % self.path)
selenium.common.exceptions.WebDriverException: Message: Can not connect to the Service geckodriver
大概意思就是geckodriver驱动调用Firefox有问题
找各种报错的原因
1、百度上的方法修改了host文件也ping通了
ping localhost来自127.0.0.1的回复,对着呢!
2、geckodriver.exe程序放在了python36文件夹下
path的环境变量也配置了 也对着呢!
右击我的电脑->属性->高级系统设置->环境变量->系统变量中选择path->编辑添加geckodriver.exe的路径
3、安装的各种版本号也对着呢
打开cmd,输入pip show selenium,查看selenuim版本
对应的版本:
Name: selenium
Version: 3.141.0
Summary: Python bindings for Selenium
Home-page: https://github.com/SeleniumHQ/selenium/
Author: UNKNOWN
Author-email: UNKNOWN
License: Apache 2.0
Location: c:\python36\lib\site-packages
Requires: urllib3
Python 3.6.4版本
python官网下载,地址:https://www.python.org/downloads/
火狐最新版本:64.0对着呢
脚本内容:
from selenium import webdriver
driver=webdriver.Firefox()
driver.get("http://www.baidu.com")
driver.find_element_by_id('kw').send_keys('selenium')
driver.find_element_by_id('su').click()
driver.close()
版本,驱动,ping本机,环境变量配置、脚本语言都没错
各种问题都找了找的,发现手动打开火狐浏览器的时候有点慢,最初以为是网速问题就没管。结果不是,原因就在这儿了,然后关闭了防火墙就好了。运行成功的那一刻,我心态已经炸了
关闭防火墙连接:https://blog.csdn.net/sinat_34104446/article/details/81258041
geckodriver下载地址:https://github.com/mozilla/geckodriver/releases
最后小小的说明一下:
驱动单放在python文件下可以的,单放在火狐文件夹下也可以的。放在哪个文件下都没问题,path路径配置好放driver的路径就可以了,不然会报错路径不对