LoginSignup
39
56

More than 5 years have passed since last update.

[初心者向け] JavaでSeleniumを動かす

Posted at

Seleniumとは

ブラウザを自動で操作できるツールです.
ユーザの動作をエミュレートできるので,テストと組み合わせて使われることが多いです.

必要なもの

  • Java
  • Eclipse
  • Google Chrome

事前準備

ダウンロードするもの

  • Selenium
  • ChromeDriver

Seleniumのダウンロード

まずはSeleniumのダウンロードページで必要なライブラリを落とします.

image.png

今回はJavaなので,Javaの Download をクリックしましょう.
(クリックするとzipのダウンロードが始まります.)

ダウンロードが終わったら解凍しておきましょう.

image.png

client-combined-3.4.0-nodeps.jar がSelenium本体で, lib/ 以下に入っているものが依存ライブラリです.(Seleniumを動かすには lib/ 以下のものも全て必要です.)

libには JUnit も入っているので,これだけですぐ使えるようになります.

ChromeDriverのダウンロード

こちらもChromeDriverのダウンロードページでChromeDriverをダウンロードします.

現時点(2017/06/14)での最新版は2.30なので,これを落とします.

image.png

ChromeDriverのバージョンによってサポートしているChromeのバージョンが異なるので気をつけてください.(ChromeDriver2.30だとChrome v58-60)

image.png

OSに合わせたChromeDriverをダウンロードします.

落としたzipを解凍すれば,必要なもののダウンロードは完了です!

Seleniumを動かす

プロジェクトの準備

Eclipseを起動して新プロジェクトを作成します.(名前は selenium-sample にしました.)
まずは依存ファイル等を置くためのフォルダを作りましょう.

image.png

依存ファイルの配置

Selenium等の依存ライブラリを置くためのフォルダ(lib),ChromeDriverを置くためのフォルダ(exe)を作成しました.
次は各フォルダにファイルを配置していきましょう.

image.png

seleniumの lib/ 以下のものも全て同じフォルダに入れてしまいましょう.

ビルドパスを通す

次にビルドパスを通しましょう.

image.png

libに入れた全てのjarにビルドパスを通します.
適用(apply)の押し忘れに注意!

これでSeleniumを動かす準備ができたので,実際に動かしてみましょう.

Seleniumを動かす.

srcに新しいJavaClassを作成します.(名前はSampleTestにしました.)

今回はChromeDriverのGetting Startedにあるサンプルコードを使用します.

ChromeDriverへのpathだけ変更します.

Java
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class SampleTest {
    @Test
    public void testGoogleSearch() throws InterruptedException {
      // Optional, if not specified, WebDriver will search your path for chromedriver.
      System.setProperty("webdriver.chrome.driver", "./exe/chromedriver");

      WebDriver driver = new ChromeDriver();
      driver.get("http://www.google.com/xhtml");
      Thread.sleep(5000);  // Let the user actually see something!
      WebElement searchBox = driver.findElement(By.name("q"));
      searchBox.sendKeys("ChromeDriver");
      searchBox.submit();
      Thread.sleep(5000);  // Let the user actually see something!
      driver.quit();
    }
}

これであとは実行すれば動くと思います.ぜひ試してみてください.

トラブルシューティング

Seleniumが動かない.

上の通りやってみて動かない場合は,eclipseのエラーメッセージをみてください.

The driver is not executable.

(Macの人に多い)
ChromeDriverに実行権限がないのが原因ですので,実行権限を付与してください.

Execution file is not found

(Windowsの人に多い)
おそらくパスが通っていないので,パスを適切に設定してください.

最後に

こちらのレポジトリをcloneしてもらえればすぐ使えると思います.(chromedriverがMac用なので注意)

39
56
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
39
56