如何使用 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();
}
}输出

广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP