在Web驱动程序中,可以在同一网页中从一帧切换到另一帧

时间:2013-09-02 13:02:12

标签: java selenium selenium-webdriver

web驱动程序中的

可以在同一网页中从一帧切换到另一帧 例如,网页中有2个帧(frame1和frame2) 我将使用代码

切换到frame1
driver.switchto().frame(id);

我将在frame1

中执行操作

再次,如果我想在frame2上执行操作 我是否需要切换回窗口

driver.switchto().defaultcontent();

然后我需要去frame2

或者我可以直接从frame1

切换到frame2

1 个答案:

答案 0 :(得分:4)

在切换到第2帧之前,您需要返回defaultContent,除非第2帧位于第1帧内。

<iframe id="1"></iframe>
<iframe id="2"></iframe>

上述内容需要:

driver.switchTo().frame("1");
//doSomething in frame 1
driver.switchTo().defaultContent();
driver.switchTo().frame("2");
//doSomething in frame 2

但如果DOM看起来像这样:

<iframe id="1">
    <iframe id="2"></iframe>
</iframe>

然后你会使用:

driver.switchTo().frame("1");
driver.switchTo().frame("2");
//doSomething in frame 2
driver.switchTo().defaultContent();