'phantomjs'可执行文件可能具有错误的权限

时间:2018-09-12 21:49:00

标签: python selenium selenium-webdriver amazon-ec2 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文件。同样的错误。你有什么建议?对不起,我的英语。

2 个答案:

答案 0 :(得分:1)

更改权限,使其可执行。

$ chmod a+x phantomsjs

答案 1 :(得分:1)

授予phantomjs文件的完全权限:

sudo chmod a+rwx phantomjs