public boolean dynamicSwitchingFrames(WebElement element) {
boolean switchStatus = false;
String parentTag = "";
WebElement targetElement = element;
WebElement parentNode=null;
while (!(switchStatus)) {
parentNode = (WebElement)((JavascriptExecutor) driver).executeScript("return arguments[0].parentNode;", targetElement);
parentTag = parentNode.getTagName();
if (parentTag.equalsIgnoreCase("iframe")) {
driver.switchTo().frame(parentNode);
switchStatus = true;
break;
}
targetElement = parentNode;
}
return switchStatus;
}
У нас есть веб-приложение, в котором много элементов внутри фреймов.Можно ли создать утилиту, которая принимает веб-элемент в качестве аргумента и переключается на фрейм, где находится этот элемент.Я попытался создать приведенную ниже утилиту, но она не помогает. Я хочу, чтобы для любого webelement утилита находила свой кадр и драйвер переключался на этот кадр.Выше утилита выдает ошибку, что не может найти элемент (targetElement).