在 iframe 中搜索按钮
Search for button in iframe
我有一个应用程序在同一个屏幕上有多个 iframe。这些 iframe 在每个会话中都有不同的名称,因此我想在应用程序中搜索一个名为 "Pesonal" 的 iframe 中的按钮。应保存此 iframe-name 以便在其他方法中使用。有人知道怎么做吗?
请关闭/删除此主题,因为我已找到解决方案:
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);
}
我有一个应用程序在同一个屏幕上有多个 iframe。这些 iframe 在每个会话中都有不同的名称,因此我想在应用程序中搜索一个名为 "Pesonal" 的 iframe 中的按钮。应保存此 iframe-name 以便在其他方法中使用。有人知道怎么做吗?
请关闭/删除此主题,因为我已找到解决方案:
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);
}