首页 > 解决方案 > 'phantomjs' 可执行文件可能有错误的权限

问题描述

该脚本在 Google Cloud Service 上运行良好。但我在 Amazon Web Service EC2 上遇到错误:(操作系统:linux 64bit)

selenium.common.exceptions.WebDriverException: Message: 'phantomjs' executable may have wrong permissions.

完整代码:

 /usr/local/lib/python3.7/site-packages/selenium/webdriver/phantomjs/webdriver.py:49: UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead
  warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless '
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/selenium/webdriver/common/service.py", line 76, in start
    stdin=PIPE)
  File "/usr/lib64/python3.7/subprocess.py", line 756, in __init__
    restore_signals, start_new_session)
  File "/usr/lib64/python3.7/subprocess.py", line 1499, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
PermissionError: [Errno 13] Permission denied: '/usr/local/share/phantomjs-2.1.1-linux-x86_64/bin/phantomjs'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "turkish.py", line 114, in <module>
    bot = TransBot()
  File "turkish.py", line 13, in __init__
    self.driver = webdriver.PhantomJS(executable_path='/usr/local/share/phantomjs-2.1.1-linux-x86_64/bin/phantomjs')
  File "/usr/local/lib/python3.7/site-packages/selenium/webdriver/phantomjs/webdriver.py", line 56, in __init__
    self.service.start()
  File "/usr/local/lib/python3.7/site-packages/selenium/webdriver/common/service.py", line 88, in start
    os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'phantomjs' executable may have wrong permissions.

我尝试移动 '/usr/local/bin' 和 '/usr/local/share' phantomjs 文件。同样的错误。你有什么建议?对不起我的英语。

标签: pythonseleniumselenium-webdriveramazon-ec2phantomjs

解决方案


更改权限,使其可执行。

$ chmod a+x phantomsjs


推荐阅读