当前位置: 首页 > 知识库问答 >
问题:

Selenium WebDriver丢失在IE中打开的新窗口的信息

范楚
2023-03-14

请不要在没有完整阅读的情况下就把这当作是一个重复的问题而不屑一顾。

场景:

我必须点击我的应用程序主页上的一个链接,它打开了一个新窗口。打开新窗口后,我需要对该页面上的web元素进行一些操作。这显然是你们每个人都要处理的常见情况。

问题:点击new window后,会打开一个新窗口。当执行driver.getWinDowHandles()时,它最初会给我2个(父窗口和子窗口)窗口。但是在一两秒钟内,即使新窗口仍然打开,如果我再次检查windowHandles,它将只返回一个窗口(parentWindow)。

总而言之,驱动程序最初知道一个新窗口正在打开,但不知为什么,在一秒钟左右,它失去了第二个窗口的细节,并说只有一个窗口存在。而且不可能因为这个原因切换到新窗口。显然在CHROME中运行良好,但这必须在IE上进行测试。

我的代码:

sysout(Driver.GetWinDowHandle());//给定:[WINDOW_PARTEN]

--执行单击打开新窗口的链接。

sysout(Driver.GetWinDowHandles());//给定:[WINDOW_PARENT,WINDOW_CHILD]

Thread.Sleep(1000);

sysout(Driver.GetWinDowHandles());//GAVES:[WINDOW_PARENT]--子级丢失

--

试穿:

IE-8/10/11-32位

Selenium-Java-prettymuch尝试了所有开始2.4

共有1个答案

卞博简
2023-03-14

奏效了。这只是IE上的保护模式设置,当我把它改成所有安全区域都一样时,它就完美地工作了。

在此更改之前的一段时间内检测到多个窗口的原因是:因为单击链接和IE上的保护模式之间的时间跨度很短。

相信我,伙计们IE和selenium有什么问题,首先要检查的是保护模式设置

 类似资料:
  • 问题内容: 当用户单击它时,如何在新窗口中将其设置为一定的宽度和高度?在firefox中,当前代码只会打开一个新标签页(而不是一个新窗口) 问题答案: 要在包含尺寸和所有内容的新窗口中打开,您将需要调用JavaScript函数,因为target =“ _ blank”不允许您调整尺寸。一个例子是: 希望这对您有所帮助。

  • 我尝试了各种方法来打开在.js文件中导入的.ftl文件中的新窗口中的链接,但都不成功。 下面是.js中的代码

  • 查看这段代码,它们展示了一种在登录后显示新窗口的方法。当用户名和密码是正确的,它打开新的对话框。我想要一个按钮点击打开新的对话框,而不检查用户名和密码。

  • 编辑4: 编辑2 上面的代码为父窗口或子窗口提供了相同的标题。

  • 我试图在IE11中通过点击一个链接打开一个新的标签,但它会在点击一个链接时打开一个新的窗口。我在谷歌上寻找合适的方法,但不知道如何实现这一点。有人能帮忙吗? 当手动单击时,link会在一个选项卡中打开,但当通过selenium单击时,它会打开一个新窗口。 我没有添加任何代码,因为没有太多要添加的。我使用webelement.click()单击了link元素,并且在驱动程序功能中禁用了persist

  • 问题内容: 我正在创建一个“共享按钮”以共享当前页面。我想获取当前页面的URL并在新窗口中打开它。我有当前的URL部分,但似乎无法使下一部分工作。 我在语法上苦苦挣扎。我想将新窗口的大小指定为。 就像是: 有任何想法吗? 问题答案: 用途: 这将创建一个标题为链接的链接,该链接将在一个新窗口中打开一个高度为570,宽度为520的新网址。