【发布时间】:2019-04-05 13:47:24
【问题描述】:
要求:默认情况下,在主窗口搜索 webelement,如果找到执行操作,否则在 iframe 中搜索 webelement 并执行所需操作
硒 3.141
'''
WebElement el = driver.findElement(By.xpath("//*[contains(text(),'here')]"));
boolean displayFlag = el.isDisplayed();
if(displayFlag == true)
{
sysout("element available in main window")
el.click();
}
else
{
for(int f=0;f<10;f++)
{
sysout("element available in frameset")
switchToFrame(frameName[f]);
el.click();
System.out.println("Webelement not displayed");
}
}
'''
我的脚本在第一行本身就失败了。它试图在主窗口中查找元素,但元素实际上在 iframe 中可用。
但要求是先在主窗口中搜索,然后只导航到 iframe。如何处理这样的用例?
有什么建议会有所帮助吗?谢谢。
【问题讨论】:
-
搜索 WebElements 而不是 WebElement,如果您发现零个 WebElements,则调用您的方法在 iFrame 中搜索 WebElement。
-
List
elementsOutOfFrame = driver.findElements(By.LOCATOR);诠释 x = elementsOutOfFrame.size(); if (x == 0) { driver.switchToFrame... }
标签: java selenium selenium-webdriver