我在c#中使用Selenium webdriver for Automation,在网页中我有一个按钮,当点击新的IE弹出窗口打开时,现在我想让webdriver继续点击新的IE窗口弹出;
[注意: - 弹出的儿童IE浏览器是完整的新.aspx页面,我的窗口名称通过右键单击后查看页面源来检查,window.open("../Reports/MidWayReport.aspx");
]
webDriver.SwithTO().Window("windowname");
但是这会产生“找不到窗口异常。
答案 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