【发布时间】:2017-11-01 09:33:27
【问题描述】:
我在我的应用程序中单击网页上的链接并弹出一个新窗口(我使用的是 Internet Explorer 11,并且不允许使用任何其他浏览器)。
窗口以html页面的形式打开,代码为:href=fileName.html。
但是,Robot 框架 Selenium2Library 关键字都不会关闭弹出窗口,例如 Close Window,根据文档,它说“关闭当前打开的弹出窗口”。但是,此命令会关闭 main 浏览器窗口,而不是弹出的那个。
我还尝试使用Get Window 命令的变体,例如Get Window Titles 或Get Window Identifiers,但它返回主浏览器窗口或不返回任何窗口。
有没有办法关闭弹出的窗口?
谢谢
编辑:
这是该窗口的 html 链接:
<a title="Birth Proof Code More Information" id="uef-help0" href="birthProofHelp.html" target="_blank" rel="help" data-uefid="uef-li-hlp" data-modal-disable="true">More Info</a>
这里是窗口的源代码:
!DOCTYPE HTML>
<html>
<head>
<title>Birth Proof</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>
A - ALLEGED<br>
B - BIRTH/BAPTISMAL CERTIFICATE (BEFORE THE AGE OF 5) / PREFERRED BIRTH PROOF<br>
C - DEFINITION OF 'CONVINCING EVIDENCE' MET<br>
F - PREVIOUSLY ESTABLISHED BY THE SSA<br>
Q - ESTABLISHED BASED ON EVIDENCE OTHER THAN THAT COVERED UNDER CODES 'B' AND 'C'<br>
</body>
</html>
我尝试休眠 60 秒以显示窗口,但它仍然不起作用。
窗口真的出现了。就像我说的,Close Window 关闭了主浏览器窗口,而不是弹出的那个。
根据 Robot 文档,Get Window Titles 这样做:
返回当前浏览器实例已知的所有窗口的标题。
【问题讨论】:
-
href=fileName.html本身不会导致打开新窗口。你能显示窗口的确切定义吗?当您尝试close window时,您是否等待片刻让窗口有机会出现?你确定窗口正在出现吗?如果Get window titles和get window identifiers只返回主窗口,则该弹出窗口似乎没有出现。 -
@BryanOakley 请在我的 OP 中查看编辑
标签: html selenium internet-explorer selenium-webdriver robotframework