LoginSignup
0

More than 1 year has passed since last update.

Seleniumで起動中のChromeを直接操作する方法

Posted at

はじめに

Seleniumで自動テストを修正/実装していると、該当の処理にたどり着くまで時間がかかる場合があります。
そんなとき、今手元で開いているブラウザの画面から直接動作確認できれば作業効率が少しあがりますよね。
今回は、Seleniumで開いているChromeブラウザを直接操作する方法を記載します。

前提条件

項目 内容
プログラミング言語 Java
OS Mac・Windows
使用ライブラリ バージョン
Selenium 4.1.4
WebDriverManager 5.1.1

手順

ブラウザの起動(Mac)

ユーザプロファイル保存用のフォルダを作成。

$ mkdir ~/Documents/chromedata

portと作成したフォルダを指定し、Chromeを起動。今回はport=9222を指定。

$ /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome -remote-debugging-port=9222 --user-data-dir=~/Documents/chromedata

ブラウザの起動(Windows)

ユーザプロファイル保存用のフォルダを作成。

> mkdir C:\chromedata

portと作成したフォルダを指定し、Chromeを起動。今回はport=9222を指定。

> "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -remote-debugging-port=9222 --user-data-dir=C:\chromedata

実行

使用ライブラリ(gradleを使用)

dependencies {
    implementation 'org.seleniumhq.selenium:selenium-java:4.1.4'
    implementation 'io.github.bonigarcia:webdrivermanager:5.1.1'
}

実際に以下のソースコードを実行すると、事前に起動していたChromeに対して直接操作することができました!


import io.github.bonigarcia.wdm.WebDriverManager;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;

public class Sample {

  public static void main(String[] args){

    //ChromeDriverの起動設定
    WebDriverManager.chromedriver().setup();
    ChromeOptions options = new ChromeOptions();
    options.setExperimentalOption("debuggerAddress","localhost:9222"); //port番号を指定
    WebDriver driver = new ChromeDriver(options);

    //操作
    //事前に起動したChromeでURLを開いておくと、URLを開く操作を記述しなくても次の操作が可能
    //driver.get("https://www.humancrest.co.jp");
    driver.findElement(By.xpath("//*[@alt=\"リグレッションテスト自動化サービスLynx\"]")).click();

  }

}

最後に

いかがでしたでしょうか。
Seleniumでテストを書いている方の作業が少しでも簡単になれば幸いです。

参考

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
What you can do with signing up
0