使用switchTO().Window("windowname")时出现窗口未发现异常

本文关键字:quot 窗口 异常 未发现 switchTO 使用 windowname Window | 更新日期: 2023-09-27 18:17:14

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

[注:-子IE弹出是完整的新的。aspx页面的窗口名称,我检查做查看页面源后右键单击,这是window.open("../Reports/MidWayReport.aspx");]

点击按钮后,我尝试了以下代码。

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

但是会生成"No window found exception.

使用switchTO().Window("windowname")时出现窗口未发现异常

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

这要么是时间问题,要么是您没有为窗口命名。我认为默认情况下,所有没有特别命名的新窗口都获得_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