【问题标题】:Capture & display the error message on console捕获并在控制台上显示错误消息
【发布时间】:2021-04-29 16:02:09
【问题描述】:

如何获取在所附屏幕截图中显示为错误消息的文本? 我无法检查它。

我尝试使用以下 selenium java 代码,但失败了:

String ale=driver.switchTo().alert().getText();
System.out.println(ale);

显示的错误信息是

Exception in thread "main" org.openqa.selenium.NoAlertPresentException:no such alert

我该如何解决?

【问题讨论】:

  • 如果您先打开检查器,然后如果您重现此错误,您是否看到 DOM 有任何变化?或者您可以尝试使用String text = driver.findElement(By.tagName("body")).getText(); 获取整个正文文本,或者您也可以使用String pageContent = driver.getPageSource(); 并尝试查找是否存在错误字符串。

标签: java selenium extract-error-message


【解决方案1】:

您可以使用 JavascriptExecutor 获取消息和状态:

注意:您只需为每个输入标签提供输入 WebElement。

代码:

WebElement ele = driver.findElement(By.xpath("(//*[@type='email'])[2]"));
JavascriptExecutor js = (JavascriptExecutor) driver;
Boolean isValidInput = (Boolean)js.executeScript("return arguments[0].checkValidity();", ele);
System.out.println(isValidInput);
String validationMessage = (String)js.executeScript("return arguments[0].validationMessage;", ele);
System.out.println(validationMessage);

截图:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 2010-11-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多