我正在尝试在嵌套框架的页面上导航。页面结构如下所示:
<frameset name="framesetContainer">
<frame name="WebTopMenu">
...
</frame>
<frame name="WebContent">
<frameset name="framesetTopContainer">
<frameset name="framesetWSTopMenu">
<frame name="frameTitle">
...
</frame>
<frame name="frameTopMenu">
...
</frame>
</frameset>
<frameset name="framesetLeftMenuContentContainer">
<frameset name="framesetLeftMenuContainer">
...
</frameset>
<frame name="frameContent">
...
</frame>
</frameset>
</frameset>
</frame>
</frameset>
导航链接位于 frameTopMenu 框架中,内容已加载到 frameContent 。
我正在使用Selenium的WebDriver API(2.35.0)。以下代码运行正常,没有任何异常,它找到了正确的链接,但不知何故click()调用没有任何效果,内容没有加载到内部框架。
driver.switchTo().frame("WebContent").switchTo().frame("frameTopMenu");
driver.findElement(By.id("link01")).click();
我错过了什么吗?
不幸的是,框架结构无法更改。
答案 0 :(得分:0)
切换到任何框架元素,只需使用driver.switchTo()。frame(“framename”);
一旦我们切换到一帧,如果我们需要切换到另一帧,我们必须切换到父帧。为此使用
driver.switchTo()parentFrame();
如果使用driver.switchTo()。defaultContent();,则可能无效。所以去了driver.switchTo()。parentFrame();,它运行正常。
答案 1 :(得分:0)
尝试以下解决嵌套框架的方法。希望它能起作用
driver.switchTo().frame("WebContent").switchTo().
frame("framesetTopContainer").switchTo().
frame("framesetWSTopMenu").switchTo().
frame("frameTitle");