同じ画面に複数の iframe を持つアプリケーションがあります。これらの iframe はセッションごとに名前が異なるため、アプリケーション内で「Personal」という名前の iframe の 1 つにあるボタンを検索したいと考えています。この iframe-name は、別のメソッドで使用するために保存する必要があります。これを行う方法を知っている人はいますか?
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 に答える