如何使用 Selenium Webdriver 捕獲警報訊息中的文字?


藉助警報介面,我們可以在 Selenium webdriver 中捕獲警報訊息中的文字。預設情況下,webdriver 物件控制著主頁,一旦生成警報彈出視窗,我們就必須將 webdriver 焦點從主頁轉移到警報。

這是藉助 switchTo().alert() 方法來完成的。一旦驅動焦點轉移,我們就可以藉助於 switchTo().alert().getText() 方法獲取彈出視窗的文字。最後,我們將使用 accept 方法接受警報,並使用 dismiss 方法拒絕警報。

我們以以下警報為例,並獲取其訊息 −

語法

Alert a = driver.switchTo().alert();
String s= driver.switchTo().alert().getText();
a.accept();

示例

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import java.util.concurrent.TimeUnit;
public class JsEnterText{
   public static void main(String[] args) {
      System.setProperty("webdriver.gecko.driver",
"C:\Users\ghs6kor\Desktop\Java\geckodriver.exe");
      WebDriver driver = new FirefoxDriver();
      //implicit wait
      driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
      //URL launch
      driver.get("https://the-internet.herokuapp.com/javascript_alerts");
      // identify element
      WebElement l = driver.
      findElement(By.xpath("//*[text()='Click for JS Alert']"));
      l.click();
      //switch focus to alert
      Alert a = driver.switchTo().alert();
      //get alert text
      String s= driver.switchTo().alert().getText();
      System.out.println("Alert text is: " + s);
      //accepting alert
      a.accept();
      driver.quit();
   }
}

輸出

更新於:2021 年 4 月 3 日

3K+ 次觀看

開啟您的 職業生涯

透過完成課程獲得認證

開始
廣告