【Java入門】Seleniumでブラウザ操作を自動化する方法|現場で使えるサンプル付き

業務でよく使うWeb操作、繰り返し手動でやっていませんか?
Selenium(セレニウム)を使えば、ブラウザの操作をJavaで自動化できます。本記事では、Java+Seleniumの基本操作と、現場で使える自動化サンプルをセットで解説します。


この記事はこんな方におすすめ

  • JavaでWeb自動操作をやってみたい方
  • テストやスクレイピングを効率化したい方
  • Seleniumの基本〜実践まで知りたいエンジニア

Seleniumとは?

Seleniumは、Webブラウザをプログラムで操作できる自動化ツールです。
主に以下の用途で使われています。

用途具体例
E2Eテストサイトの画面遷移・入力チェックの自動化
業務自動化ログイン・データ抽出・帳票ダウンロードなど
Webスクレイピング公開サイトからの情報収集

Javaとの相性も良く、企業の現場でも多く利用されています。


Seleniumの導入方法(Java環境)

1. Java開発環境の準備

すでにJavaが使える環境がある前提で解説します。未導入の方は以下をご確認ください:

  • JDK(Java Development Kit)
  • IDE(Eclipse / IntelliJ など)

2. Seleniumライブラリを導入

方法①:Mavenを使う場合(推奨)

<dependency>
  <groupId>org.seleniumhq.selenium</groupId>
  <artifactId>selenium-java</artifactId>
  <version>4.20.0</version>
</dependency>

方法②:JARファイルを直接ダウンロード

Selenium公式サイト から最新版を取得して、プロジェクトに追加します。


Selenium × Javaでできること

  • Google Chromeを開いてページ遷移
  • テキスト入力やボタンクリック
  • スクリーンショットの取得
  • ログイン自動化
  • データ取得&保存 など

【基本サンプル】ブラウザを自動操作するJavaコード

以下は「Googleを開いて、検索して、スクリーンショットを撮る」サンプルです。

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.io.File;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.apache.commons.io.FileUtils;

public class SeleniumSample {
    public static void main(String[] args) throws Exception {
        // ドライバーのパス設定
        System.setProperty("webdriver.chrome.driver", "C:\\path\\to\\chromedriver.exe");

        // ブラウザ起動
        WebDriver driver = new ChromeDriver();

        try {
            // Googleを開く
            driver.get("https://www.google.com");

            // 検索ボックスにキーワードを入力
            WebElement searchBox = driver.findElement(By.name("q"));
            searchBox.sendKeys("Java Selenium 入門");

            // Enterキーを押す
            searchBox.submit();

            // 3秒待機
            Thread.sleep(3000);

            // スクリーンショットを保存
            File screenshot = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
            FileUtils.copyFile(screenshot, new File("screenshot.png"));

        } finally {
            // ブラウザを閉じる
            driver.quit();
        }
    }
}

💡注意:chromedriver.exe のパスは環境に合わせて変更してください。
Chromeのバージョンと合うドライバを使いましょう。


【応用】ログイン自動化の実践コード(業務向け)

// ログインフォームに自動入力する例
driver.get("https://example.com/login");

// ユーザー名とパスワードを入力
driver.findElement(By.id("username")).sendKeys("your_id");
driver.findElement(By.id("password")).sendKeys("your_password");

// ログインボタンをクリック
driver.findElement(By.id("loginBtn")).click();

トラブルシューティング(よくあるエラー)

エラー原因と対策
NoSuchElementException指定した要素が見つからない → タイミングやセレクタを見直す
SessionNotCreatedExceptionChromeDriverとブラウザのバージョン不一致
TimeoutExceptionページの読み込みに時間がかかっている → WebDriverWaitで対応

より実践的に学びたい方へ

Seleniumは「テストだけでなく、日常業務の自動化」にも活用できます。
ログイン→データ抽出→ファイル保存の流れを組み合わせれば、毎日の手作業が10分→1分に短縮されることも!


まとめ:Java × Seleniumで業務を効率化しよう

ポイント内容
学習コストJava経験者なら比較的スムーズ
利用場面テスト・スクレイピング・業務自動化など幅広い
次のステップHeadless実行・テストフレームワーク(JUnit連携)など

✅ハイクラス転職も視野に|自動化スキルは武器になる!

こうしたSeleniumスキルは「単なる自動化」だけでなく、年収アップやキャリアアップの武器になります。

🔗【特集】年収800万円を狙える「ハイクラス転職」とは?
高年収エンジニア転職の成功戦略を見る

タイトルとURLをコピーしました