当使用switchTO()。Window(“windowname”)时,会发现窗口未找到异常

时间:2011-12-08 09:26:53

标签: c# selenium webdriver

我在c#中使用Selenium webdriver for Automation,在网页中我有一个按钮,当点击新的IE弹出窗口打开时,现在我想让webdriver继续点击新的IE窗口弹出;

[注意: - 弹出的儿童IE浏览器是完整的新.aspx页面,我的窗口名称通过右键单击后查看页面源来检查,window.open("../Reports/MidWayReport.aspx");]

单击按钮后,我尝试按照代码。

webDriver.SwithTO().Window("windowname");

但是这会产生“找不到窗口异常。

2 个答案:

答案 0 :(得分:0)

这可能是一个时间问题 - 在尝试切换到窗口之前尝试等待几秒钟。

答案 1 :(得分:0)

这可能是时间问题,也可能没有命名窗口。我认为默认情况下,所有未明确命名的新窗口都名为_Blank。自从我在多个浏览器中查看它以来,这可能已经发生了变化。但是,只需命名窗口就可以找到更简单的解决方案。

window.open("../Reports/MidWayReport.aspx", "MyWindowName");

然后你可以做这样的事情

webDriver.SwitchTo().Window("MyWindowName");

这曾经是一个打开像这样的

的弹出窗口的链接
<a href="http://www.mysite.com" target="MyNewWindowName">Open Window</a>

然而,既然你是通过javascript这样做的,我首先提供了这样做的方法。这是一个解释链接:http://www.infimum.dk/HTML/JSwindows.html