web-dev-qa-db-fra.com

WebDriverException: Message: l'exécutable 'phantomjs' peut avoir des autorisations erronées

Exécuter le sélénium localement sur le ballon. J'utilise le pilote PhantomJS. J'ai déjà eu une erreur de chemin:

Selenium.common.exceptions.WebDriverException: Message: 'phantomjs' executable needs to be in PATH. 

Mais après avoir découvert une autre question StackOverflow, j'ai appris que je devais passer le chemin de l'environnement comme paramètre pour PhantomJS. Le chemin que j'ai ci-dessous est le chemin du dossier phantomJS dans mon dossier d'environnement virtuel.

driver = webdriver.PhantomJS(executable_path='/Users/MyAcc/Documents/MYWEBAPP/venv/lib/python3.5/site-packages/Selenium/webdriver/phantomjs')

Cependant, je reçois un nouveau code d'erreur maintenant:

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

Voici ce que je reçois lorsque je vérifie les autorisations de fichier du chemin.

total 40 
drwxr-xr-x 7 USER staff 238 Nov 6 00:07 . 
drwxr-xr-x 17 USER staff 578 Nov 6 00:03 .. 
-rw-r--r--@ 1 USER staff 6148 Nov 6 00:07 .DS_Store 
-rw-r--r-- 1 USER staff 787 Oct 31 12:27 __init__.py 
drwxr-xr-x 5 USER staff 170 Oct 31 12:27 __pycache__ 
-rw-r--r-- 1 USER staff 2587 Oct 31 12:27 service.py 
-rw-r--r-- 1 USER staff 2934 Oct 31 12:27 webdriver.py 
6
Tahir

Eh bien, j'ai résolu ce problème avec le code suivant:

browser = webdriver.PhantomJS(executable_path = "/usr/local/Cellar/phantomjs/2.1.1/bin/phantomjs")
2
Nabin Bhusal

J'ai placé le fichier phantomjs dans /usr/local/bin et cela a bien fonctionné.

2
Joe Daniels

J'ai déjà rencontré ce problème à propos de python + phanomjs. Solution:

Linux

mettre phantomjs dans /usr/local/share

Les fenêtres

mettre phantomjs dans /python/scripts

1
E.choose
executable_path = './phantomjs-2.1.1-linux-x86_64/bin/phantomjs'

service_log_path = './log/ghostdriver.log'

driver = webdriver.PhantomJS(executable_path=executable_path, service_log_path=service_log_path)

Vous pouvez utiliser à la fois le chemin relatif et les chemins absolus.

0
LWX

Selenium.common.exceptions.WebDriverException: Message: L'exécutable 'phantomjs' peut avoir des autorisations erronées.

Cette erreur, car phantomjs n'a pas exécuté l'autorisation, tant que pour phantomjs - 2.1.1 - Linux - x86_64/bin/phantomjs, ajouter des autorisations d'exécution, chmod u + x phantomjs 

j'espère pouvoir vous aider 

0
LWX