Selenium Python Headless Webdriver (PhantomJS) Not Working



所以我在让selenium与无头驱动程序一起工作时遇到了麻烦,特别是PhantomJS。我正在尝试让它在Ubuntu web服务器(Ubuntu 14.04.2 LTS)上工作。

在python解释器(python 2.7.6)中运行以下命令:

from selenium import webdriver
driver = webdriver.PhantomJS()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/phantomjs/webdriver.py", line 51, in __init__
    self.service.start()
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/phantomjs/service.py", line 76, in start
    raise WebDriverException("Unable to start phantomjs with ghostdriver: %s" % e)
selenium.common.exceptions.WebDriverException: Message: Unable to start phantomjs with ghostdriver: [Errno 2] No such file or directory

我也试过了:

driver = webdriver.PhantomJS(executable_path="/usr/local/lib/python2.7/dist-packages/selenium/webdriver/phantomjs/")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/phantomjs/webdriver.py", line 51, in __init__
    self.service.start()
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/phantomjs/service.py", line 76, in start
    raise WebDriverException("Unable to start phantomjs with ghostdriver: %s" % e)
selenium.common.exceptions.WebDriverException: Message: Unable to start phantomjs with ghostdriver: [Errno 13] Permission denied

我还将它添加到python路径中:

import sys
sys.path.append("/usr/local/lib/python2.7/dist-packages/selenium/webdriver/phantomjs/")

我当前以root身份登录。phantomjs目录的权限为:

drwxr-sr-x  2 root staff 4096 Sep  9 06:58 phantomjs

对于phantomjs/webdriver.py:

-rw-r--r--  1 root root  2985 Sep  9 06:58 webdriver.py

我已经确认selenium已经安装并且是最新的(pip install selenium——upgrade)。它安装在:

/usr/local/lib/python2.7/dist-packages/selenium/webdriver/phantomjs/
print selenium.__version__
2.47.1

我看过:

  • https://superuser.com/questions/674322/python-selenium-phantomjs-unable-to-start-phantomjs-with-ghostdriver - Windows特定,但没有运气遵循类似的建议。

  • 在后台使用Selenium -答案建议使用全路径的PhatomJS

  • https://code.google.com/p/selenium/issues/detail?id=6736 -我卸载了selenium并安装了v2.37,没有运气。

  • 加上其他一些链接,大多数人似乎建议指定executable_path。

我一直在使用chromedriver在本地托管服务器(OSX)上测试我的程序。我实际上使用Splinter (https://splinter.readthedocs.org/en/latest/#headless-drivers),并尝试了其他无头驱动程序(django和zope.testbrowser),但有类似的问题。

我愿意接受任何建议,如果需要的话,我不介意换司机。

提前感谢您的帮助。

我有同样的问题与您相同的错误。我已经尝试在openSuse服务器上安装它。我最终安装了PhantomJS表单源-不幸的是没有任何成功。我的工作方式是通过npm安装Phantomjs

sudo npm install -g phantomjs

所以通过包管理器安装phantomjs似乎解决了这个问题…

sudo apt-get install phantomjs

无论如何,希望上面的过程能帮助到其他有同样问题的人。

相关内容

  • 没有找到相关文章

最新更新