Selenium 中 WebElement.isDisplayed() 方法的实现在哪里?
Where is the implementation for the WebElement.isDisplayed() method in Selenium?
WebElement.isDisplayed()
方法的实现在哪里? WebElement
.java class 是一个为 isDisplayed()
方法创建契约的接口,但我找不到显示其工作原理的源代码。有谁知道我怎么能找到它?我知道 dom.js 并且我可以看到 ExpectedConditions
.java 中的所有方法都是如何工作的,但是我找不到我们称之为 Java
的源代码实现(在 Java
中) =6=].
我认为要真正了解 ExpectedConditions
的工作原理,我需要了解底层 isDisplayed()
方法的工作原理。我不知道它最终是如何调用 dom.js
中的 bot.dom.isInteractable
方法的。
实现细节特定于驱动程序。
但是您可以在 RemoteWebElement
中找到 isDisplayed
方法。所有 WebElement
方法都在 here 上实施。
该方法如下所示:
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
,它与扩展一起工作,因此您可以在扩展端找到实现,可以找到 here
WebElement.isDisplayed()
方法的实现在哪里? WebElement
.java class 是一个为 isDisplayed()
方法创建契约的接口,但我找不到显示其工作原理的源代码。有谁知道我怎么能找到它?我知道 dom.js 并且我可以看到 ExpectedConditions
.java 中的所有方法都是如何工作的,但是我找不到我们称之为 Java
的源代码实现(在 Java
中) =6=].
我认为要真正了解 ExpectedConditions
的工作原理,我需要了解底层 isDisplayed()
方法的工作原理。我不知道它最终是如何调用 dom.js
中的 bot.dom.isInteractable
方法的。
实现细节特定于驱动程序。
但是您可以在 RemoteWebElement
中找到 isDisplayed
方法。所有 WebElement
方法都在 here 上实施。
该方法如下所示:
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
,它与扩展一起工作,因此您可以在扩展端找到实现,可以找到 here