如何从警告框中获取文本

How to get text from the alert box

我需要从如下所示的警告框中获取文本。此警告框出现在 url 栏上方。 下面是我的框架断言的一个例子:

verifyDisplay("'"+ driver.switchTo().alert().getText() + "'", By.xpath("xpath").

我不知道如何抓取这个警告框的xpathidname,因为有none.

非常感谢任何帮助。

Alert 界面中有一个方法可以为您提供警报框消息的文本。如下:

Alert alert = driver.switchTo().alert();
alert.getText();

Alert API javadoc

如果您需要进一步的帮助,请告诉我。

我们可以在这里做一件事,获取字符串中的 HTML 源,然后找到 'alert(',然后我们可以在警告框中对消息进行子字符串化 前

var htmlString = document.getElementsByTagName('html')[0].innerHTML;
if(htmlString.includes('alert(')){
    var indexOfAlertBeginning = htmlstring.indexof('alert(');
    var stringFromAlert = htmlstring.substr(indexOfAlertBeginning);
    var indexOfAlertEnd = stringFromAlert.indexof(')');
    var alertMessages = stringFromAlert(0,indexOfAlertEnd);
    console.log(alertMessages);
}

请试试这个并告诉我这是否可行

只需导入 "org.openqa.selenium.Alert" 库并使用以下代码从对话框中获取文本。

Alert confirmation = driver.switchTo().alert();
String alerttext = confirmation.getText();
System.out.println(alerttext);

Qus) alert box中的消息如何取回?

Ans) storeAlert() 命令可用于从警报弹出窗口中检索消息并将其存储在变量中。