Я просматривал существующую инфраструктуру автоматизации Selenium, где есть код, который проверяет ширину и высоту элемента. Если они имеют только положительные значения, тогда он будет взаимодействовать, например, щелчок, двойной щелчок и т. Д. c.
public boolean isElementInteractable(WebElement element) {
JavascriptExecutor js = (JavascriptExecutor) driver;
String offsetWidth = js.executeScript("return arguments[0].offsetWidth;", element).toString();
String offsetHeight = js.executeScript("return arguments[0].offsetHeight;", element).toString();
if ((Integer.parseInt(offsetWidth) != 0 && Integer.parseInt(offsetHeight) != 0) && element.isDisplayed()) {
return true;
}
return false;
}
Насколько я понимаю, каждый видимый / интерактивный элемент имеет положительную высоту и ширину. Я запутался, почему этот код был написан.
Не могли бы вы подтвердить правильность моего понимания? Если нет, пожалуйста, помогите мне понять случаи, когда это возможно.