当我进入一个网站时,IEDriver在我开始工作正常,但在点击一个元素之后,浏览器进入一个新页面然后我的应用程序抛出了这个异常NoSuchWindowException : Unable to get browser
。
我正在使用Windows Server 2008 R2 Standard,IE11,而且仅适用于以http://开头的网站。以https://开头的网站很好。
例如,对于网站http://www.gov.ns.ca/snsmr/access/business/registry-joint-stock-companies.asp,在我的代码点击“搜索我们的数据库”后,它进入新页面,然后浏览器失去对该页面的控制。
点击元素的代码就像
_browser.FindElementByClassName(m.Groups["MethodValue"].Value.Replace("<SP>", " ")).Click();
string url2 = string.Format("[href*=\"{0}\"]", m.Groups["MethodValue"].Value.Replace("<SP>", " "));
_browser.FindElement(By.CssSelector(url2)).Click();
我认为代码本身是正确的,因为它适用于其他网站。
我启用了保护模式,并在注册表编辑器中添加了密钥HKEYLOCALMACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATUREBFCACHE
,但它仍然不起作用。
我想知道服务器是否存在设置问题。