【実践例】JavaとSeleniumでログインフォームを自動入力する手順【Chrome対応】

JavaでWebブラウザを自動操作できるライブラリSelenium WebDriverは、ログインフォームの自動入力やテスト自動化に便利です。本記事では、JavaとSeleniumを使って、Chromeブラウザ上でログインフォームに自動入力する方法を、実践例付きでわかりやすく解説します。


この記事でわかること

  • Java + SeleniumでChromeを操作する手順
  • ログインフォームへの値入力&ボタンクリック方法
  • よくあるトラブルと対処法

事前準備

1. JavaとIDE(Eclipse/IntelliJなど)のインストール

Java 8以上が推奨です。

2. Mavenプロジェクトを作成

Seleniumを依存に追加するためにMavenを使います。

3. ChromeDriverのダウンロード

公式サイト:https://chromedriver.chromium.org/
バージョンはGoogle Chromeのバージョンと一致させてください。


MavenにSelenium依存を追加

pom.xml に以下を追加します

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

【実践コード】ログインフォームを自動入力してログインボタンを押す

サンプルフォーム仕様(例)

  • ユーザー名入力欄のname属性username
  • パスワード入力欄のname属性password
  • ログインボタンのid属性loginButton

Javaコード全文

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class LoginAutomation {
    public static void main(String[] args) {
        // ChromeDriverのパスを指定(自分の環境に応じて変更)
        System.setProperty("webdriver.chrome.driver", "path/to/chromedriver");

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

        try {
            // ログインページにアクセス
            driver.get("https://example.com/login");

            // ユーザー名とパスワードを入力
            WebElement username = driver.findElement(By.name("username"));
            WebElement password = driver.findElement(By.name("password"));

            username.sendKeys("your_username");
            password.sendKeys("your_password");

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

            // 成功後の処理(例:タイトル表示)
            System.out.println("ログイン後タイトル: " + driver.getTitle());

        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // 数秒待ってからブラウザを閉じる
            try { Thread.sleep(3000); } catch (InterruptedException ignored) {}
            driver.quit();
        }
    }
}

Seleniumログイン処理の流れ

[Javaプログラム]

[ChromeDriver起動]

[ログインページへ遷移]

[ユーザー名/パスワード自動入力]

[ログインボタン押下]

[ログイン後ページに遷移]

よくあるエラーと対策

症状対策例
IllegalStateException: chromedriver not foundSystem.setPropertyで正しいパスを指定
ElementNotFoundExceptionセレクタの指定ミス or ページ読み込みが未完了
「一瞬でブラウザが閉じる」Thread.sleep()を追加して確認時間を確保

ポイントまとめ

ポイント内容
ライブラリの選定Selenium + ChromeDriver
セレクタの使い方By.name, By.id, By.xpath などを用途に応じて使う
エラー対策要素待機処理(例:WebDriverWait)で安定化可能

発展:入力自動化からさらに進む応用例

  • ログイン後にスクレイピングしてデータ収集
  • スクリーンショットを自動保存
  • 定時実行(バッチ処理)による定期監視

あとがき

Seleniumは単なる自動テストツールにとどまらず、ログイン処理やデータ取得など幅広い自動化に活用できます。まずはシンプルなログインから始めて、自動化の世界に慣れていきましょう!

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