我有一个在同一个屏幕上有多个 iframe 的应用程序。这些 iframe 在每个会话中都有不同的名称,因此我想在应用程序中搜索其中一个名为“Personal”的 iframe 中的按钮。应保存此 iframe-name 以在其他方法中使用。有人知道如何做到这一点吗?
问问题
72 次
1 回答
1
请关闭/删除此主题,因为我找到了解决方案:
public WebElement findElement(By locator) {
driver.switchTo().defaultContent();
//list all iframes
List<WebElement> iframeList = driver.findElements(By.tagName(("iframe")));
final List<WebElement> foundElements = new ArrayList<>();
iframeList.forEach(iframe -> {
driver.switchTo().frame(iframe);
List<WebElement> foundElementList = driver.findElements(locator);
if (foundElementList.size() > 0) {
foundElements.addAll(foundElementList);
} else driver.switchTo().defaultContent();
});
return foundElements.get(0);
}
于 2020-01-30T12:45:41.307 回答