selenium-webdriver
アラートを処理する
サーチ…
Javaでのセレン
Seleniumを使ってJavaでポップアップアラートを処理する方法は次のとおりです。
ポップアップは3種類あります。
- シンプルアラート :アラート(「これは簡単なアラート」)。
- 確認アラート :var popuResult = confirm( "OKとキャンセルボタンでポップアップを確認する");
- プロンプトの警告 :var person = prompt( "あなたはstackoverflowが好きですか?"、 "はい/いいえ");
ポップアップの種類をテストケースで処理する必要があるのは、そのユーザーだけです。
どちらか
accept()アラートを受け入れる
dismiss()アラートを閉じる
getText()アラートのテキストを取得する
sendKeys()警告にテキストを書き込む
簡単なアラートの場合:
Alert simpleAlert = driver.switchTo().alert();
String alertText = simpleAlert.getText();
System.out.println("Alert text is " + alertText);
simpleAlert.accept();
確認アラートの場合:
Alert confirmationAlert = driver.switchTo().alert();
String alertText = confirmationAlert.getText();
System.out.println("Alert text is " + alertText);
confirmationAlert.dismiss();
プロンプト警告の場合:
Alert promptAlert = driver.switchTo().alert();
String alertText = promptAlert .getText();
System.out.println("Alert text is " + alertText);
//Send some text to the alert
promptAlert .sendKeys("Accepting the alert");
Thread.sleep(4000); //This sleep is not necessary, just for demonstration
promptAlert .accept();
あなたの必要に応じて。
これを行う別の方法は、コードをtry-catchの中にラップすることです。
try{
// Your logic here.
} catch(UnhandledAlertException e){
Alert alert = driver.switchTo().alert();
alert.accept();
}
// Continue.
C#
C#でSeleniumのポップアップアラートを閉じる方法は次のとおりです。
IAlert alert = driver.SwitchTo().Alert();
// Prints text and closes alert
System.out.println(alert.Text);
alert.Accept();
or
alert.Dismiss();
あなたの必要に応じて。
これを行う別の方法は、コードをtry-catchの中にラップすることです。
try{
// Your logic here.
} catch(UnhandledAlertException e){
var alert = driver.SwitchTo().Alert();
alert.Accept();
}
// Continue.
Python
Python
アラートポップアップに切り替えるには、複数の方法があります。
- 推奨されない :
alert = driver.switch_to_alert()
-
switch_to
を使用する :
alert = driver.switch_to.alert
-
ExplicitWait
を使う :
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
alert = WebDriverWait(driver, TIMEOUT_IN_SECONDS).until(EC.alert_is_present())
-
Alert
クラスのインスタンスを宣言することによって :
from selenium.webdriver.common.alert import Alert
alert = Alert(driver)
JavaScript
prompt()
トリガされた入力フィールドをポップアップで入力するには:
alert.send_keys('Some text to send')
ダイアログポップアップを確認する*:
alert.accept()
却下するには:
alert.dismiss()
テキストをポップアップから取得するには:
alert.text
* PS alert.dismiss()
は、 JavaScript
alert()
とalert.confirm()
によってトリガーされたポップアップを確認するために使用できます。
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow