首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Selenium中WebElement.isDisplayed()方法的实现在哪里?

Selenium中WebElement.isDisplayed()方法的实现在哪里?
EN

Stack Overflow用户
提问于 2015-01-08 23:01:55
回答 1查看 2.7K关注 0票数 0

WebElement.isDisplayed()方法的实现在哪里?WebElement.java类是一个为isDisplayed()方法创建契约的接口,但我找不到显示它如何工作的源代码。有人知道我怎么能找到它吗?我了解dom.js,我可以看到ExpectedConditions.java中的所有方法都是如何工作的,但我无法找到我们称之为element.isDisplayed()的源代码实现(在Java中)。

我认为要真正理解ExpectedConditions是如何工作的,我需要了解底层isDisplayed()方法的工作原理。我不知道它最终是如何在bot.dom.isInteractable中调用dom.js方法的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-09 01:32:31

实现细节是特定于驱动程序的。

但是您可以在isDisplayedRemoteWebElement中找到这个方法。所有WebElement方法都是在这里上实现的。

该方法如下所示:

代码语言:javascript
运行
复制
public boolean isDisplayed() {
    Object value = execute(DriverCommand.IS_ELEMENT_DISPLAYED, ImmutableMap.of("id", id))        .getValue();
    try {
          return (Boolean) value;
    } catch (ClassCastException ex) {
      throw new WebDriverException("Returned value cannot be converted to Boolean: " + value, ex);    
   }  
}

这句话是:

代码语言:javascript
运行
复制
execute(DriverCommand.IS_ELEMENT_DISPLAYED, ImmutableMap.of("id", id))

纯粹是特定于驱动程序的,因为每个驱动程序都有自己的处理此操作IS_ELEMENT_DISPLAYED的实现。

例如,与扩展一起工作的SafariDriver,因此可以在扩展端找到实现,可以找到这里

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27851122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档