繁体   English   中英

如何在 selenium 中检查隐藏元素是否显示

[英]How to check with hidden element is dispalyed or not in selenium

我有一个接受数字的输入字段。 我需要输入数字并检查是否显示错误消息。 输入无效号码时会显示错误消息。 我还需要检查当我输入有效数字时是否显示错误消息,但我得到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')]"));

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

因此,如果您输入有效数字,则基本上错误消息不会显示在标签或屏幕中。 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM