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
誰か助けてくれますか?私はインターネットで何年も探していましたが、何も見つかりませんでした...ありがとう!!!
私は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')
これもあなたのために働くことを願っています。
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)
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")
お役に立てれば..