17

Selenium for Linux プラットフォームで Chrome ドライバーを使用する方法を教えてもらえますか?

Chrome ドライバーの場所は にありusername/home/chromedriverます。

私のコードは次のとおりです。

System.setProperty("webdriver.chrome.driver", "/home/username/ChromeDriver/chrome‌​driver");
driver = new ChromeDriver();
driver.get("facebook.com");

私が得ているエラーは次のとおりです。

org.openqa.selenium.WebDriverException: Chrome を起動または接続できません。ChromeDriver が最新であることを確認してください。

Chrome バイナリの使用:/opt/google/chrome/google-chrome

(警告: サーバーはスタックトレース情報を提供しませんでした)

4

5 に答える 5

25

[公式ドキュメント] から ( https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver :

要件

ChromeDriver は、Chrome の自動化プロキシ フレームワークを使用してブラウザーを制御します。

サーバーは、各システムのデフォルトの場所に Chrome がインストールされていることを想定しています。

OS          Expected Location of Chrome
-------------------------------------
Linux          /usr/bin/google-chrome
Mac            /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome
Windows XP     %HOMEPATH%\Local Settings\Application Data\Google\Chrome\Application\chrome.exe
Windows Vista  C:\Users\%USERNAME%\AppData\Local\Google\Chrome\Application\chrome.exe

Linux システムの場合、ChromeDriver は/usr/bin/google-chrome実際の Chrome バイナリへのシンボリック リンクであると想定します。Chrome バイナリの場所のオーバーライドに関するセクションも参照してください。

入門

セットアップするには、まず 適切なビルド済みサーバーをダウンロードします。サーバーがあなたの場所にあることを確認するか、 システムプロパティPATHを介してその場所を指定してください。webdriver.chrome.driver最後に、新しい ChromeDriver インスタンスを作成するだけです。

WebDriver driver = new ChromeDriver();
driver.get("http://www.google.com");

したがって、必要なバージョンの chromedriver をダウンロードし、ファイルのどこかに解凍してPATH(またはシステム プロパティでパスを指定して)、ドライバーを実行します。

于 2013-09-07T14:18:17.807 に答える
13

正常にインストールされました

sudo apt-get install unzip
wget -N http://chromedriver.storage.googleapis.com/2.10/chromedriver_linux64.zip -P ~/Downloads
unzip ~/Downloads/chromedriver_linux64.zip -d ~/Downloads
chmod +x ~/Downloads/chromedriver
sudo mv -f ~/Downloads/chromedriver /usr/local/share/chromedriver
Change the directory to /usr/bin/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/bin/chromedriver

スクリプトを実行し、環境ファイルに以下を追加します。

Capybara.register_driver :chrome do |app| client = Selenium::WebDriver::Remote::Http::Default.new Capybara::Selenium::Driver.new(app, :browser => :chrome, :http_client => client) end

Capybara.javascript_driver = :chrome

注:32ビットまたは64ビットなどのオペレーティングシステムのタイプに応じて、chromeドライバーのバージョンを変更してください。

于 2015-02-26T04:45:44.687 に答える
0

この例から小さな例を見ることができます

Linuxの場合、chromeドライバーをダウンロードし、システムパス変数として保持します(または既存のパスフォルダーに入れます)。そして、コードから次の方法を使用します(プロパティを追加し、クロムドライバーのパスで開始します)

System.setProperty("webdriver.chrome.driver", "/usr/local/bin/chromedriver");
ChromeDriverService service = new ChromeDriverService.Builder()
                .usingDriverExecutable(new File("/usr/local/bin/chromedriver"))
                .usingAnyFreePort()
                .build();
        try {
            service.start();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return new RemoteWebDriver(service.getUrl(), DesiredCapabilities.chrome());
于 2016-06-27T23:58:49.107 に答える