「accept」実行で[OK]ボタン,「dismiss」の実行で[Cancel]ボタンを押下することができます。
Alertクラスはダイアログを制御するクラスです。ボタン押下以外にもダイアログに表示された文字列を取得したり、ダイアログに対してテキスト入力出来たりします。
下記のサンプルではHTML内に記述されたjavascriptの実行でダイアログを表示させ、「OK」ボタンを押下する操作をしています。
説明
◆メソッド ・void accept() ・void dismiss() ◆使用形態 ・alert.accept() ・alert.dismiss() ◆備考 ・driver.switchTo().alert()でアクティブにしたダイアログに対して操作を行う ◆関連項目 ・指定したurlへ遷移する ・ウインドウを閉じる
サンプル
import org.openqa.selenium.Alert; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class WebTest{ public static void main(String[] args){ //Chrome制御のためChromeDriverのパスを指定 System.setProperty("webdriver.chrome.driver", "D:\\AutoTest\\chromedriver.exe"); //Chromeを起動する WebDriver driver = new ChromeDriver(); //指定したURLに遷移する<図1> driver.get("file://C:/AutoTest_Java/Alert_ok_cancel.html"); //画面表示されたダイアログをアクティブにする Alert alert = driver.switchTo().alert(); //ダイアログが表示されたまま3秒間待つ try{ Thread.sleep(3000); }catch(InterruptedException e){ } //ダイアログのOKボタンを押下する alert.accept(); } }
※selenium version 4.1.4で動作確認をしています
実行結果
Alert_ok_cancel.html<図1>
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>Alert</title> </head> <body> <script> if(window.confirm("OK or Cancel")){ alert("OK!!!"); }else{ alert("Cancell!!!"); } </script> </body> </html>
動画デモ
※字幕をONにすると解説のテロップが表示されます※