2017-06-17 128 views
0

只是一个简单的代码在Python:的Python库的webdriver不获取连接到chromedriver - “无法连接到服务的/ usr/local/bin目录/ chromedriver”

from selenium import webdriver 

chrome_options = webdriver.ChromeOptions() 
chrome_options.add_argument("--no-sandbox") 
chrome_options.add_argument("--user-agent={}".format(config.USER_AGENT)) 
driver = webdriver.Chrome("/usr/local/bin/chromedriver", 
chrome_options=chrome_options) 

而且chromedriver:

$ ls /usr/local/bin/chromedriver 
/usr/local/bin/chromedriver 

和:

$ chromedriver 
Starting ChromeDriver 2.29 on port 9515 
Only local connections are allowed. 

但是当我运行一个python脚本,它抛出一个异常,它是无法连接到CHR omedriver:

Traceback (most recent call last): 
    File "main.py", line 98, in <module> 
    driver = webdriver.Chrome("/usr/local/bin/chromedriver", chrome_options=chrome_options) 
    File "/home/me123/.local/lib/python3.6/site-packages/selenium/webdriver/chrome/webdriver.py", line 62, in __init__ 
    self.service.start() 
    File "/home/me123/.local/lib/python3.6/site-packages/selenium/webdriver/common/service.py", line 102, in start 
    raise WebDriverException("Can not connect to the Service %s" % self.path) 
selenium.common.exceptions.WebDriverException: Message: Can not connect to the Service /usr/local/bin/chromedriver 

如何解决?

+0

只是一个想法。你可以重新启动并尝试吗? –

回答

0

这里是回答你的问题:

我与你的代码进行简单的检查我的执行Python 3.x的两个小变化的Windows 8 Pro的框。首先,我已经将参数类型executable_path添加到了chromedriver的绝对路径中,并且它在我的最后工作正常。其次,直到&除非我们调用和消费chromedriver服务,我们并不真正需要通过$ chromedriver chromedriver开始,可以继续通过我们的代码是指在我们的机器chromedriver的绝对路径。这是你自己的代码块将打开谷歌Chrome v59.0:

from selenium import webdriver 

chrome_options = webdriver.ChromeOptions() 
chrome_options.add_argument("--no-sandbox") 
chrome_options.add_argument("--user-agent={}".format(config.USER_AGENT)) 
driver = webdriver.Chrome(executable_path="/usr/local/bin/chromedriver", 
    chrome_options=chrome_options) 

让我知道如果这个回答你的问题。

+0

不起作用。我的区别是什么? – Jodimoro

+0

你可以考虑更新我执行我的确切代码块时生成的错误stacktrace吗?谢谢 – DebanjanB

相关问题