我有以下带框架的 HTML
<frameset border="0" cols="*,0">
<frame scrolling="auto" src="/cgi-bin/haipage/page.html?tpl=ntrc/index" name="smgleft">
<html>
<head>
<frameset frameborder="0" border="0" rows="20%,*" cols="100%">
<frame scrolling="no" marginheight="0" marginwidth="0" src="/cgi-bin/haipage/page.html?tpl=Administration/b" name="head">
<frame scrolling="auto" marginhei![enter image description here][1]ght="0" marginwidth="0" src="/cgi-bin/haipage/page.html" name="main">
</html>
</frame>
</frameset>
</html>
</frame>
</frameset>
当我登陆页面时,我正在使用
wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt("head"));
因为我想访问“head”框架下的一些元素
现在我想切换 frame = main,所以我正在使用
driver.switchTo().defaultContent();
driver.switchTo().frame("main");
但我收到错误消息“无法找到框架”。我相信对 driver.switchTo().defaultContent() 的调用会到达顶部,然后再下降到您想要的框架。
此外,当我在切换到 defaultContent() 后尝试查找帧时,我在日志中只看到一帧 = 'smgleft'
List<WebElement> frameset = driver.findElements(By.tagName("frame"));
if(frameset.size()>0) {
for (WebElement framename : frameset)
logger.info("frameid: " + framename.getAttribute("name"));
}
我在这里错过了什么吗?如何在同级框架之间切换?