【问题标题】:Window not found exception comes when switchTO().Window("windowname") is used使用 switchTO().Window("windowname") 时出现 Window not found 异常
【发布时间】:2011-12-08 09:26:53
【问题描述】:

我在 c# 中使用 Selenium webdriver 进行自动化,在网页中我有一个按钮,当点击新的 IE 弹出窗口时,我希望 webdriver 继续点击新的 IE 窗口弹出;

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

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

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

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

【问题讨论】:

  • 代码好像没问题。上面的代码应该可以工作。窗口名称是否正确?你能再检查一下吗

标签: c# selenium webdriver


【解决方案1】:

这可能是时间问题 - 请尝试等待几秒钟,然后再尝试切换到窗口。

【讨论】:

  • Np 我增加了等待,但这不是时间问题
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2015-08-04
    • 2017-11-26
    • 1970-01-01
    • 2012-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    • 2021-12-23
    相关资源
    最近更新 更多