業務でよく使う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 | 指定した要素が見つからない → タイミングやセレクタを見直す |
SessionNotCreatedException | ChromeDriverとブラウザのバージョン不一致 |
TimeoutException | ページの読み込みに時間がかかっている → WebDriverWait で対応 |
より実践的に学びたい方へ
Seleniumは「テストだけでなく、日常業務の自動化」にも活用できます。
ログイン→データ抽出→ファイル保存の流れを組み合わせれば、毎日の手作業が10分→1分に短縮されることも!
まとめ:Java × Seleniumで業務を効率化しよう
ポイント | 内容 |
---|---|
学習コスト | Java経験者なら比較的スムーズ |
利用場面 | テスト・スクレイピング・業務自動化など幅広い |
次のステップ | Headless実行・テストフレームワーク(JUnit連携)など |
✅ハイクラス転職も視野に|自動化スキルは武器になる!
こうしたSeleniumスキルは「単なる自動化」だけでなく、年収アップやキャリアアップの武器になります。
🔗【特集】年収800万円を狙える「ハイクラス転職」とは?
▶ 高年収エンジニア転職の成功戦略を見る