当前位置: 首页 > 知识库问答 >
问题:

.isDisplayed()-->从不返回False为什么?在Selenium Webdriver中

汪明德
2023-03-14

. is显示()-

      try {
        boolean status_second= Appointment_Booking_page.second_confirmation.isDisplayed();
        System.out.println("Current Second Appointment booking status-->" + status_second);
      } 
      catch (NoSuchElementException e) {

      }

请提出同样的建议。

共有3个答案

籍光熙
2023-03-14

这不是真的。isDisplayed()方法从不返回False。

在您的情况下,。isDisplayed()方法通过约会预订页面调用。第二次确认,这是您定位webelement的可能策略。由于您采用的定位器策略无法唯一地标识所需的webelement,因此(甚至在调用.isDisplayed()之前)不会引发任何uchelementException,您的程序也会终止。

值得一提的是,即使Web元素出现在网页上,但不在视口中,<代码>。isDisplayed()方法仍然可以返回False。

李凯定
2023-03-14

您的问题是正确的,isDisplay将为所有存在的元素显示True,其他任何内容都肯定会转到NoSuchElementException。这仅适用于UI中显示的元素,请检查未显示的元素例如隐藏元素,或者仅在滚动后显示的元素,我相信在这些情况下它应该显示False。

这里还有一个关于同样的问题:

https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/1880

颛孙镜
2023-03-14

isDisplay用于DOM中存在元素的情况,并且您需要检查它是否显示在UI中。它从不用于检查DOM中是否存在元素。

 类似资料:
  • 这是我的代码: 因为我使用POM设计模式,所以我为此创建了一种方法: 这是超文本标记语言标签: 我的问题是,即使存在WebElement,isDisplayed()也返回false。

  • 当我的代码运行并且元素存在时,它eleExists被设置为true,但当它不存在而不是设置为false时,我会得到一个NoSuchElementException。我想知道这是否是硒中的一种细菌? 问题是:Selenium Webdriver-在If语句中使用isDisplayed()不起作用 解决方案是将代码包装在一个try-catch中,我已经完成了,现在正在运行。但我很想知道这种行为是不是有

  • 问题内容: 我正在使用a 检查我的哈希密码。我有PHP 5.5: 我上车了。我已经检查了posts的值和mysql user_password_hash返回。 我不知道为什么它返回假 有任何想法吗? 问题答案: 手册中的列长度可能是问题所在: 建议将结果存储在可扩展超过60个字符的数据库列中(255个字符是一个不错的选择)。 链接

  • 问题内容: 即使正则表达式应返回true,程序也不会退出。代码有什么问题? 问题答案: 仅当整个字符串与正则表达式匹配时才返回。在你的情况下,你的正则表达式仅代表 一个 字符不是,或。 我怀疑您要检查字符串是否包含您在正则表达式中描述的这些特殊字符之一。在这种情况下,请将您的正则表达式括起来,以使正则表达式匹配整个字符串。哦,您不必逃脱character class内部。

  • 为什么以下输出为True? 这将始终输出,即使条件似乎表明并非如此。如果我删除括号,那么它可以工作,但我不明白为什么。

  • 问题内容: 我刚刚研究OCPJP问题,发现了这个奇怪的代码: 运行代码时,我得到: 当我们比较看起来彼此相同的两件事时,输出如何?什么NaN意思 问题答案: 溢出的操作将生成有符号无穷大,下溢的操作将生成非规范化的值或有符号的零,而数学上没有确定结果的操作将生成NaN。将NaN作为操作数的所有数值运算都会产生NaN。如前所述,NaN是无序的,因此涉及一个或两个NaN返回的数值比较操作以及涉及NaN