何时以及如何在webDriver(Selenium 2)中使用switchTo()方法来处理窗口/弹出窗口

时间:2011-03-28 19:26:27

标签: selenium webdriver selenium-webdriver

我无法点击或与某些页面元素进行交互。它们看起来像普通的DOM对象。这里的按钮就是一个

的代码
<div style="clear: both; text-align: right">
 <img id="nextstep" class="nextbtn" height="21" alt="" src="/edit/images/author/next.png">
</div>

单击“上传文件”按钮后,打开另一个弹出窗口。我的任务是在弹出窗口上传文件并返回原始窗口。我会尝试解释

我为

启动webDriver

www.test.com(&lt; - 以名称组成)

我登录

点击上传文件按钮

点击后我们的网站重定向到www.foo.com而不是上面我使用之前创建的相同驱动程序,我尝试与帖子上传页面上的按钮进行交互

button.click()

它永远不会找到这些按钮,但它们在萤火虫中并且显得正常。

1 个答案:

答案 0 :(得分:2)

重定向后,您可能会尝试再次切换到该窗口。

保存窗口句柄:

String myWindowHandle = driver.getWindowHandle();

重定向到您想要的页面,然后使用窗口句柄调用switchTo:

driver.switchTo().window(myWindowHandle );

您的网页是否包含任何框架?重定向后,您可能还没有进入正确的框架。