web-dev-qa-db-fra.com

Python Selenium Webdriver `Impossible de démarrer le navigateur: autorisation refusée`

Je veux exécuter un pilote Web Firefox avec Selenium afin de pouvoir épargner une connexion avec des demandes dans un robot d'indexation Web. J'ai eu l'idée de cette solution stackoverflow link , car la connexion avec les requêtes ne fonctionne pas pour plusieurs raisons. Je reçois toujours une erreur indiquant que le navigateur ne peut pas être démarré car l'autorisation a été refusée. Voici mon code:

from Selenium import webdriver
from Selenium.webdriver.firefox.firefox_binary import FirefoxBinary

binary=FirefoxBinary("/path/to/firefox")
fp=webdriver.FirefoxProfile("path/to/extra/profile")


url="www.python.org"
driver = webdriver.Firefox(fp,  firefox_binary=binary, executable_path="path/to/geckodriver.exe")
driver.get(url)

L'erreur est la suivante:

Selenium.common.exceptions.WebDriverException: Message: Failed to start browser:
permission denied

Quelqu'un peut-il aider s'il vous plait? Je cherche depuis des années sur internet mais je ne trouve rien ... Merci !!!

13
Tessa

J'essaie de faire fonctionner Selenium 3 pour Firefox et je rencontrais un message d'erreur après l'autre. Après avoir téléchargé geckodriver et l'avoir ajouté au chemin système, cette dernière erreur était le même problème de refus d'autorisation que vous voyez. Après un peu de recherche et d'assemblage, ce qui a finalement fonctionné a été d'ajouter le firefox.exe au chemin également.

Voici le script complet:

from Selenium import webdriver
from Selenium.webdriver.firefox.firefox_binary import FirefoxBinary

binary = FirefoxBinary(r'C:\Program Files (x86)\Mozilla Firefox\firefox.exe')
driver = webdriver.Firefox(firefox_binary=binary)

driver.get('http://www.google.com')

J'espère que cela fonctionnera aussi pour vous.

11
yyeo

Sur Mac OS X, vous devez pointer vers le bac Firefox réel plutôt que simplement Firefox.app. Au moins, cela a fonctionné pour moi.

from Selenium.webdriver.firefox.firefox_binary import FirefoxBinary
binary = FirefoxBinary('/Users/YOUR_USERNAME/Applications/Firefox.app/Contents/MacOS/firefox-bin')
driver = webdriver.Firefox(firefox_binary=binary)
2
Ben Wilson

Utilisez simplement une double barre oblique dans le chemin sous Windows:

binary = FirefoxBinary(r'C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe')
1

Sur Windows 10 avec Selenium 3.14.1, le code ci-dessous a fonctionné pour moi.

binary = FirefoxBinary(r'C:\\Program Files\\Mozilla Firefox\\firefox.exe')
driver = webdriver.Firefox(firefox_binary=binary, 
executable_path='C:\\Tools\\Selenium\\geckodriver.exe')
driver.get("https://www.python.org")

J'espère que cela t'aides..

0
Sethu S