2011-12-08 69 views
0

我在自动化中使用Selenium webdriver在c#中,在网页中我有一个按钮,当它是单击新的IE弹出窗口时会被打开,现在我想让webdriver继续弹出新IE窗口的点击;使用switchTO()。窗口(“windowname”)时出现窗口异常

[注: - 子IE弹出完成后的新.aspx页,我通过做后查看页面源代码经过的窗口名称单击鼠标右键,即window.open("../Reports/MidWayReport.aspx");]点击我尝试以下

一个按钮后,码。

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

但就是产生“无窗发现异常

+0

该代码似乎是确定的。上面的代码应该可以工作。窗口的名称是否正确?你可以请再次检查 –

回答

0

很可能是个时间问题。 - 尝试尝试切换到窗口前,等待几秒钟

+0

Np我增加了等待,但它不是时间问题 –

0

这是不是一个时间问题或者你还没有命名窗口,我想默认情况下,所有未命名的新窗口都会得到_Blank这个名字,这可能已经改变了,因为我已经在多个浏览器中查看过这么多年了。一个简单的解决方案只是命名窗口。

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

然后,你可以做这样的事情

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

该使用,因为你正在做这通过JavaScript我提供的要通过开这样

<a href="http://www.mysite.com" target="MyNewWindowName">Open Window</a> 

但是一个弹出的链接设置首先要做到这一点。这里是一个链接来解释:http://www.infimum.dk/HTML/JSwindows.html

相关问题