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
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")
J'ai placé le fichier phantomjs dans /usr/local/bin
et cela a bien fonctionné.
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
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.
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