【问题标题】:How to check with hidden element is dispalyed or not in selenium如何检查隐藏元素是否显示在硒中
【发布时间】:2021-03-29 19:49:29
【问题描述】:

我有一个接受数字的输入字段。我需要输入数字并检查是否显示错误消息。输入无效号码时会显示错误消息。我还需要检查当我输入有效数字时是否显示错误消息,但我得到NoSuchElementException 异常。下面的 HTML 代码是没有显示错误消息的时候。

<div class="date text_feild_last">
  <input type="text" id="seqNo" class="form-control" name="seq_num" value="1" placeholder="Enter Number" autocomplete="off" data-orig="921">
  <div hidden id="seq-num-error" class="help-inline"></div>
</div>

显示错误信息时的HTML代码如下

<div class="date text_feild_last">
    <input type="text" id="seqNo" class="form-control" name="seq_num" value="1" placeholder="Enter Number" autocomplete="off" data-orig="921">
    <div hidden id="seq-num-error" class="help-inline" style="display: block;">Please enter valid number</div>
</div>

我用来查找错误消息的 xpath 是 WebElemet errorMessage = driver.findElement(By.xpath("//div[contains(text(), 'Please enter valid number')]"));

我正在检查元素是否显示,然后执行我的下一个操作,但由于遇到异常而无法执行下一个操作。请帮我。谢谢。

【问题讨论】:

标签: java selenium


【解决方案1】:

因此,如果您输入有效数字,则基本上错误消息不会显示在标签或屏幕中。 Selenium 会尝试在屏幕上找到它并抛出异常。

要处理这个问题,请用 try and catch 包围该行。捕获异常并将其记录为有效数字的通过或将其记录为无效数字的失败并继续程序

try {
WebElement errorMessage = driver.findElement(By.xpath("//div[contains(text(), 'Please enter valid number')]"));
} catch (NoSuchElementException e){
//Log the message and continue

【讨论】:

    猜你喜欢
    • 2022-01-10
    • 1970-01-01
    • 2010-09-15
    • 1970-01-01
    相关资源
    最近更新 更多