Python3&selenium raise 消息:无法连接到服务 geckodriver

Posted

技术标签:

【中文标题】Python3&selenium raise 消息:无法连接到服务 geckodriver【英文标题】:Python3&selenium raise Message: Can not connect to the Service geckodriver 【发布时间】:2018-02-01 06:30:40 【问题描述】:

我正在尝试在我的电脑上安装 selenium,所以我尝试了这些:

    pip install selenium

然后我去this site下载geckodriver复制到/usr/bin.

测试 selenium 是否工作。我运行了这些代码并得到了一个错误(30 秒后)。

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
driver.get('http://www.python.org')
assert 'Python' in driver.title
elem = driver.find_element_by_name('q')
elem.send_keys('pycon')
elem.send_keys(Keys.RETURN)

traceback

知道如何解决这个问题吗?我搜索了一些类似的问题,但没有找到解决方案。如果有人可以提供一些信息,我会很高兴。

OS:Ubuntu 16.04
Firefox:55
python:3.5
selenium:3.4

问题解决了!感谢你们的帮助。

解决方法:确保/etc/host文件中有127.0.0.1 localhost

原来我很久以前为了好玩而改了文件,忘记改回来T_T。添加 127.0.0.1 localhost 后,一切正常。

【问题讨论】:

尝试将 geckodriver 移动到 python 脚本所在的文件夹。 太棒了..你的解决方案帮助了我 【参考方案1】:

解决方法:确保文件/etc/host中有127.0.0.1 localhost

它非常适合我!

【讨论】:

请不要添加“谢谢”作为答案。一旦你有足够的reputation,你将能够vote up questions and answers,你觉得有帮助。 - From Review 好的,我知道了【参考方案2】:

geckodriver 移动到/usr/local/bin。你应该避免触摸/usr/bin

同样添加可执行权限

chmod a+x /usr/local/bin/geckodriver

然后在您的终端中使用echo $PATH。确保/usr/local/bin 是其中的一部分。如果不是则在下面执行

export PATH=/usr/local/bin:$PATH

然后运行你的 python 脚本。现在它应该可以工作了

【讨论】:

我尝试使用权限进行试验,但得到了一个非常具体的回溯,出现“权限被拒绝”错误。不确定这是否是 OP 实际遇到的情况。 我先尝试将 geckodrive 移动到 /usr/local/bin。它不工作。然后我尝试将它移动到 /usr/bin。可悲的是,没有醒来。我确信 geckodrive 是可执行的,并且 /usr/bin 和 /usr/local/bin 都在 PATH 中 壁虎驱动是哪个版本,火狐是哪个版本? 版本和解决方案已添加到问题中。谢谢。

以上是关于Python3&selenium raise 消息:无法连接到服务 geckodriver的主要内容,如果未能解决你的问题,请参考以下文章

python3 安装selenium

selenium3+python3

Python3 Selenium学习

Selenium+Python3环境配置

selenium+python3环境准备

Selenium---Python3---弹框处理