web-dev-qa-db-ja.com

Selenium / python / ubuntuでchromedriverを使用する

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

25
Saheb

https://askubuntu.com/questions/539498/where-does-chromedriver-install-to からの提案に従って、次のように動作させることができました。

  1. クロムクロムドライバーをインストールしました:

    Sudo apt-get install chromium-chromedriver
    
  2. Selenium行にパスを追加します。

    driver = webdriver.Chrome("/usr/lib/chromium-browser/chromedriver")
    

これにより、ChromeではなくChromiumが開きます。お役に立てば幸いです。

38
Zamfir Stefan

次の方法で問題を解決しました。

  1. ターミナルを開き、whereis chromedriverと入力します。私の場合、次の出力がありました。

    chromedriver: /usr/local/bin/chromedriver

  2. そのパスをコピーして、Webdriverインスタンスを次のように編集します。

driver = webdriver.Chrome('/usr/local/bin/chromedriver')

それで十分でしょう!

5
Javier Sorella

メッセージにあるように、ChromeDriver実行可能ファイルはパスで使用可能である必要があります。

それは道にありますか?出力は次のとおりです。

$ cd
$ chromedriver --version

バージョンが表示されない場合は、chromedriverがPATHに含まれていません。

それ以外の場合、chromedriverの場所をwebdriverに教えません。 – Ubuntuパッケージ「chromium-chromedriver」を使用しますが、/usr/lib/chromium-browser/chromedriverにバイナリをドロップしますが、これはPATHにはありません。そこで、/usr/binにソフトリンクを配置しました。

1
Robert Siemer

以下が正常に機能するはずです。

driver = webdriver.Chrome(executable_path='/usr/local/bin/chromedriver')

あなたの質問では、パスの前に「/」がなかったことに注意してください。

さらに、/ usr/local/bin /にあるchromedriver実行可能ファイルに適切なファイル権限があること、つまり実行できることを確認してください。

> chmod 777 /usr/local/bin/chromedriver
1
Tytus

スタンドアロンのChromeDriverバイナリがパスにあるか、webdriver.chrome.driver環境変数で使用可能であることを確認してから、そのバイナリへの絶対パスを使用する必要があります。以下はJava-

    File chromeDriver = new File("/usr/bin/chromedriver");
    System.setProperty("webdriver.chrome.driver", chromeDriver.getAbsolutePath());
    driver = new ChromeDriver();
0
Devarshi Tank

バイナリの場所を、それを含むディレクトリだけでなく、引数として渡すだけです。したがって、/ usr/binディレクトリにある場合は、以下のコマンドを実行します。

driver = webdriver.Chrome("/usr/bin/chromedriver")

これはubuntuで私にとってはうまくいきましたが、bashrcにパスを追加することはできません。試してみる。

0
amritkrs

これが私のような人に役立つことを願っています。私の場合、パスの前のスラッシュは「/ home/user/chromedriver」ではなく「home/user/chromedriver」でした。

0