如何在网页上找到iframe?
Html标签在下面给出
<div class="bluebox">
<div class="title"><span>Preview</span></div>
<div class="content">
<iframe frameborder="0" src="about:blank" style="width:100%;height:488px;border:0 none;" id="previewFrame"></iframe>
</div>
<div class="box_shadow">
<div class="left"></div>
<div class="right"></div>
</div>
</div>
在我的代码中,我写的是:
driver.switchTo().frame(driver.findElement(By.id("previewFrame")));
System.out.println("Successfully switched to frame.");
boolean checkStatus = driver.findElement(By.id("previewFrame")).isDisplayed();
错误:无法找到iframe
答案 0 :(得分:1)
您可以执行类似
的操作boolean isExists = true;
try {
driver.findElement(By.id("previewFrame");
// No exception means frame is present
} catch (NoSuchElementException e) {
// Exception, no such frame is present
isExists = false;
}
答案 1 :(得分:0)
切换到iframe
后,Selenium的参考点就是iframe
中包含的所有内容。
要检查Selenium是否具有正确的引用,请测试iframe
内的元素。
作为旁注,您可以简化您的开关:
driver.switchTo().frame("previewFrame");
答案 2 :(得分:0)
尝试切换到默认页面,然后执行切换到所需的帧。
driver.switchTo().defaultContent();
driver.switchTo().frame(driver.findElement(By.id("previewFrame")));
如果这有助于您,请告诉我。感谢。