web-dev-qa-db-ja.com

Python Selenium Webdriver `ブラウザの起動に失敗しました:権限が拒否されました`

SeleniumでFirefoxのWebドライバーを実行して、Webクローラーでのリクエストを使用してログインを節約できるようにしたいと考えています。このstackoverflowソリューション link からアイデアを得ました。リクエストを使用したログインがいくつかの理由で機能しないためです。アクセス許可が拒否されたため、ブラウザを起動できないというエラーが常に表示されます。これが私のコードです:

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)

エラーは次のとおりです。

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

誰か助けてくれますか?私はインターネットで何年も探していましたが、何も見つかりませんでした...ありがとう!!!

13
Tessa

私はFirefoxでSelenium 3を動作させようとしているのですが、次々とエラーメッセージが表示されていました。 geckodriverをダウンロードしてシステムパスに追加した後、この最後のエラーは、アクセス許可が拒否された問題と同じでした。かなりの部分を検索して一緒につなぎ合わせた後、最終的に機能したのは、firefox.exeもパスに追加することでした。

完全なスクリプトは次のとおりです。

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')

これもあなたのために働くことを願っています。

11
yyeo

Mac OS Xでは、Firefox.appだけでなく、実際のFirefoxのビンを指定する必要があります。少なくともそれは私のために働いた。

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

Windowsのパスでダブルバックスラッシュを使用するだけです。

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

Selenium 3.14.1がインストールされたWindows 10では、以下のコードが機能しました。

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")

お役に立てれば..

0
Sethu S