我使用Selenium WebDriverJS(通过节点)进行一些自动化测试。我有一个测试,我试图写在多个浏览器上工作,它在Chrome和Firefox上工作正常,但在IE(版本11,32位)中,我一直有问题,我可以&#39 ; t切换到主要窗口以外的其他窗口。
基本上,作为测试的一部分,我将点击一个按钮,在新窗口中打开一个链接,然后我尝试切换到该窗口并继续。获取所有窗口句柄然后使用switchTo()切换在其他浏览器中工作正常,但不是IE。使用相同的方法得到错误:
UnknownError: null value in entry: name=null
...
==== async task ====
WebDriver.switchTo().window(undefined)
所以我跑了:
driver.getAllWindowHandles().then(function (handles) {
console.log(handles.length)
});
查看窗口是否出现。每次,结果都是1,只是主窗口。我可以看到已打开的新窗口,但webdriver无论出于何种原因都无法解决。还有什么我需要做的才能让这些窗口对驱动程序可见吗?任何形式的解决方法?
我知道IE需要一些设置才能与Selenium一起正常使用。我的保护模式设置很好,我在注册表中完成了FEATURE_BFCACHE键。它似乎无法找到任何新窗口。
将IE 11与32位驱动程序和Windows 7 64位一起使用。同样,我的语言是javascript。如果您需要回答更多信息,请告诉我。