Chromedriverを使用していくつかのテストを実行しようとしていますが、次の方法を使用してchromedriverを起動しようとしました。
driver = webdriver.Chrome('/usr/local/bin/chromedriver')
そして
driver = webdriver.Chrome(executable_path='/usr/local/bin/chromedriver')
そして
import os
from Selenium import webdriver
chromedriver = "/usr/local/bin/chromedriver"
os.environ["webdriver.chrome.driver"] = chromedriver
driver = webdriver.Chrome(chromedriver)
driver.get("http://stackoverflow.com")
しかし、これらはどれも役に立たないようで、エラーは:Selenium.common.exceptions.WebDriverException: Message: 'ChromeDriver executable needs to be available in the path.
複数回確認しましたが、chromedriver
が/usr/local/bin
。
それでも私のスクリプトは動作しません。どんな体も助けてくれますか。
私のgoogle-chromeの場所は:/ usr/bin/google-chrome
https://askubuntu.com/questions/539498/where-does-chromedriver-install-to からの提案に従って、次のように動作させることができました。
クロムクロムドライバーをインストールしました:
Sudo apt-get install chromium-chromedriver
Selenium行にパスを追加します。
driver = webdriver.Chrome("/usr/lib/chromium-browser/chromedriver")
これにより、ChromeではなくChromiumが開きます。お役に立てば幸いです。
次の方法で問題を解決しました。
ターミナルを開き、whereis chromedriver
と入力します。私の場合、次の出力がありました。
chromedriver: /usr/local/bin/chromedriver
そのパスをコピーして、Webdriverインスタンスを次のように編集します。
driver = webdriver.Chrome('/usr/local/bin/chromedriver')
それで十分でしょう!
メッセージにあるように、ChromeDriver実行可能ファイルはパスで使用可能である必要があります。
それは道にありますか?出力は次のとおりです。
$ cd
$ chromedriver --version
バージョンが表示されない場合は、chromedriver
がPATHに含まれていません。
それ以外の場合、chromedriver
の場所をwebdriverに教えません。 – Ubuntuパッケージ「chromium-chromedriver」を使用しますが、/usr/lib/chromium-browser/chromedriver
にバイナリをドロップしますが、これはPATHにはありません。そこで、/usr/bin
にソフトリンクを配置しました。
以下が正常に機能するはずです。
driver = webdriver.Chrome(executable_path='/usr/local/bin/chromedriver')
あなたの質問では、パスの前に「/」がなかったことに注意してください。
さらに、/ usr/local/bin /にあるchromedriver実行可能ファイルに適切なファイル権限があること、つまり実行できることを確認してください。
> chmod 777 /usr/local/bin/chromedriver
スタンドアロンのChromeDriverバイナリがパスにあるか、webdriver.chrome.driver環境変数で使用可能であることを確認してから、そのバイナリへの絶対パスを使用する必要があります。以下はJava-
File chromeDriver = new File("/usr/bin/chromedriver");
System.setProperty("webdriver.chrome.driver", chromeDriver.getAbsolutePath());
driver = new ChromeDriver();
バイナリの場所を、それを含むディレクトリだけでなく、引数として渡すだけです。したがって、/ usr/binディレクトリにある場合は、以下のコマンドを実行します。
driver = webdriver.Chrome("/usr/bin/chromedriver")
これはubuntuで私にとってはうまくいきましたが、bashrcにパスを追加することはできません。試してみる。
これが私のような人に役立つことを願っています。私の場合、パスの前のスラッシュは「/ home/user/chromedriver」ではなく「home/user/chromedriver」でした。