如何识别页面使用Java代码在Selenium中有iframe?

时间:2014-05-08 10:22:51

标签: java selenium

我是Selenium的新手。网页,我必须自动化,有一些页面的iframe,而不是其余的。如何识别是否存在iframe,以便仅在java中的特定页面而不是来自firebug。如果页面使用iframe                                                        webdriver.switchTo().defaultContent();否则直接检查xpath

3 个答案:

答案 0 :(得分:2)

尝试在页面上找到iframe:

List<WebElement> iframes = webDriver.findElements(By.tagName("iframe"));

所有找到的iframe都是WebElement的列表。

如果iframes.size()&gt; 0表示在页面上找到iframe。反之亦然。

因此,如果发现iframe,您可以像使用webelements一样使用它们。在示例中,您可以切换到列表中的任何iframe,并在其中执行某些操作并返回。

答案 1 :(得分:0)

在浏览器中打开页面,使用Firebug,开发者工具等查看页面的HTML代码。如果HTML标记为iframe,则表示您的网页包含iframe,因此您必须使用{{1}与框架内的元素进行交互。

如果您想查看Java代码,请执行以下操作:

driver.switchTo.frame(frame);

答案 2 :(得分:0)

您可以使用By.tagName方法查找iframes

int count = driver.findElements(By.tagName("iframe")).size() ;
if(count == 0){
   // No frames          
}else{
   // Frames present         
}