LinuxプラットフォームのSeleniumでChromeドライバを使用する方法を誰かに教えてもらえますか?
chromeドライバーの場所username/home/chromedriver
。
私のコードは:
System.setProperty("webdriver.chrome.driver", "/home/username/ChromeDriver/chromedriver");
driver = new ChromeDriver();
driver.get("facebook.com");
私が得ているエラーは:
org.openqa.Selenium.WebDriverException
:Chromeを起動または接続できません。 ChromeDriverが最新であることを確認してください。Chromeバイナリを使用:
/opt/google/chrome/google-chrome
(警告:サーバーはスタックトレース情報を提供しませんでした)
[公式ドキュメント]( 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バイナリの場所)の上書き のセクションも参照してください。入門
セットアップするには、まず download が適切なビルド済みサーバーです。サーバーが
PATH
にあることを確認するか、webdriver.chrome.driver
システムプロパティ。最後に、新しいChromeDriverインスタンスを作成するだけです。WebDriver driver = new ChromeDriver(); driver.get("http://www.google.com");
したがって、 必要なバージョンのchromedriverをダウンロード し、PATH
のどこかに解凍し(または、システムプロパティでパスを指定して)、ドライバを実行します。
正常にインストールしました
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ドライバのバージョンを変更してください。
私にとってこれらのコマンドで作業しました:
Seleniumのコードはそのようなものでした。
System.setProperty("webdriver.chrome.driver","/usr/bin/chromedriver");
WebDriver driver = new ChromeDriver();
driver.get("https://mvnrepository.com");
driver.close();
この例 から小さな例を見ることができます
Linuxの場合、chromeドライバーをダウンロードして、システムパス変数として保持します(または既存のパスフォルダーに配置します)。そしてコードから私は以下の方法を使用します(プロパティを追加し、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());