WebElement.isDisplayed()方法的实现在哪里?WebElement.java类是一个为isDisplayed()方法创建契约的接口,但我找不到显示它如何工作的源代码。有人知道我怎么能找到它吗?我了解dom.js,我可以看到ExpectedConditions.java中的所有方法都是如何工作的,但我无法找到我们称之为element.isDisplayed()的源代码实现(在Java中)。
我认为要真正理解ExpectedConditions是如何工作的,我需要了解底层isDisplayed()方法的工作原理。我不知道它最终是如何在bot.dom.isInteractable中调用dom.js方法的。
发布于 2015-01-09 01:32:31
实现细节是特定于驱动程序的。
但是您可以在isDisplayed的RemoteWebElement中找到这个方法。所有WebElement方法都是在这里上实现的。
该方法如下所示:
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);
}
}这句话是:
execute(DriverCommand.IS_ELEMENT_DISPLAYED, ImmutableMap.of("id", id))纯粹是特定于驱动程序的,因为每个驱动程序都有自己的处理此操作IS_ELEMENT_DISPLAYED的实现。
例如,与扩展一起工作的SafariDriver,因此可以在扩展端找到实现,可以找到这里。
https://stackoverflow.com/questions/27851122
复制相似问题