python运行脚本提示无法连接到服务geckodriver

抛出问题:

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的路径就可以了,不然会报错路径不对

 

你可能感兴趣的:(python)