selenium:webdriver.PhantomJS():"错误:无法连接到端口51263上的GhostDriver"

时间:2016-01-13 14:54:41

标签: python selenium phantomjs ghostdriver

我想在python3.4中使用PhantomJS()并输入

因此:

from selenium import webdriver
browser = webdriver.PhantomJS()

我收到了错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.4/dist-packages/selenium/webdriver/phantomjs/webdriver.py", line 51, in __init__
    self.service.start()
  File "/usr/local/lib/python3.4/dist-packages/selenium/webdriver/phantomjs/service.py", line 83, in start
    "Can not connect to GhostDriver on port {}".format(self.port))
selenium.common.exceptions.WebDriverException: Message: Can not connect to GhostDriver on port 40236

我知道selenium.webdriver.phantomjs.service内部会抛出错误,因为函数utils.is_connectable(self.port)无法连接到localhost(本地主机可以访问)。

try:
    self.process = subprocess.Popen(
        self.service_args, stdin=subprocess.PIPE,
        close_fds=platform.system() != 'Windows', 
        stdout=self._log, stderr=self._log)
except Exception as e:
    raise WebDriverException("Unable to start phantomjs with ghostdriver: %s" % e)
count = 0
while not utils.is_connectable(self.port):
    count += 1
    time.sleep(1)
    if count == 30:
        raise WebDriverException("Can not connect to GhostDriver on port {}".format(self.port))

我无法找到适合我的解决方案,所以如果有人有想法就会创建。

我的系统:

Linux controller 4.1.15-v7+ #830 SMP Tue Dec 15 17:02:45 GMT 2015 armv7l GNU/Linux

1 个答案:

答案 0 :(得分:0)

你必须下载phantomJS - LINK

然后在你的代码中给出它的路径

browser = webdriver.PhantomJS(pathToPhantomJS)