如何查找网页上是否存在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
发布于 2014-04-08 14:15:02
你可以这样做
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;
}发布于 2014-04-08 14:13:42
一旦切换到iframe,Selenium的参考点就是iframe中包含的所有内容。
要检查Selenium是否具有正确的引用,请测试iframe中的元素。
顺便说一下,你可以简化你的switchTo:
driver.switchTo().frame("previewFrame");发布于 2014-04-09 02:31:29
尝试切换到默认页面,然后切换到所需的框架。
driver.switchTo().defaultContent();
driver.switchTo().frame(driver.findElement(By.id("previewFrame")));如果这对你有帮助,请告诉我。谢谢。
https://stackoverflow.com/questions/22928858
复制相似问题