Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未处理NoSuchWindowException:在关闭的窗口中找不到元素。IE 11-硒C#_C#_Visual Studio 2010_Selenium_Internet Explorer 11 - Fatal编程技术网

未处理NoSuchWindowException:在关闭的窗口中找不到元素。IE 11-硒C#

未处理NoSuchWindowException:在关闭的窗口中找不到元素。IE 11-硒C#,c#,visual-studio-2010,selenium,internet-explorer-11,C#,Visual Studio 2010,Selenium,Internet Explorer 11,也许这个问题以前被问过很多次。但我在stackoverflow中查看了所有相关问题,但没有找到任何令人满意的解决方案 我正在使用C#在VS2010中编写selenium自动化代码,IE11是我的web浏览器,我正在其上执行测试。在Windows7中使用IEDriverServer 32位版本打开IE实例 我已经知道selenium和IE 11之间存在某种兼容性问题,但直到现在,当我开始出现这个错误时,我的代码仍然运行良好——“NoSuchWindowException未处理:无法在关闭的窗口中找

也许这个问题以前被问过很多次。但我在stackoverflow中查看了所有相关问题,但没有找到任何令人满意的解决方案

我正在使用C#在VS2010中编写selenium自动化代码,IE11是我的web浏览器,我正在其上执行测试。在Windows7中使用IEDriverServer 32位版本打开IE实例

我已经知道selenium和IE 11之间存在某种兼容性问题,但直到现在,当我开始出现这个错误时,我的代码仍然运行良好——“NoSuchWindowException未处理:无法在关闭的窗口中找到元素。”

以下是我的步骤:-

IWebDriver driver = new InternetExplorerDriver("D:\\");
driver.Navigate().GoToUrl("http://aiaw00572.belldev.dev.bce.ca:8060/UTM_MechHDTool_UserWebApp");

driver.FindElement(By.Id("ctl00_cpMainContent_radcboTaskType_Input"), 10).Click();

driver.FindElement(By.XPath("//div[@id='ctl00_cpMainContent_radcboTaskType_DropDown']/div/ul/li[2]")).Click(); (this step select a drop down option which performs a postback on the page)

driver.FindElement(By.Id("ctl00_cpMainContent_utmTaskGrid_ctl00_ctl06_imgbtnStartWorking")).Click();//Getting error on this step. Earlier i was not getting it anywhere
我搜索了这个问题的解决方案,并了解了一个解决方案,其中必须对注册表进行一些更改才能解决这个问题,尽管这也不能证实它能解决这个问题。但这里的问题是,我甚至无法检查此解决方案,因为我的系统中没有任何管理员权限


因此,我只是想知道是否有其他人也遇到了这个问题,并提出了一些解决方案,因此他/她可以在这里分享,因为我非常需要在这里为这种情况提供解决方案。

在以管理员身份运行IEDriverServer或为所有区域设置保护模式后为我工作()

对我来说,aswear是从下载此注册表文件并运行它

错误:

org.openqa.selenium.NoSuchWindowException:无法在关闭的窗口中找到元素(警告:服务器未提供任何堆栈跟踪信息)

步骤1。更改Windows注册表。 如果使用Internet Explorer 11 x64(64位), 创建文件ie11\U win64.reg包含以下内容:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BFCACHE]
"iexplore.exe"=dword:00000000
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BFCACHE]
"iexplore.exe"=dword:00000000
然后运行它

如果您使用Internet Explorer 11 x86(32位), 创建文件ie11\U win32.reg包含以下内容:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BFCACHE]
"iexplore.exe"=dword:00000000
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BFCACHE]
"iexplore.exe"=dword:00000000
然后运行它

步骤2。在internet explorer中设置。取消选中全部(或全部选中,对于以下区域必须相同:Internet、本地intranet、受信任站点、受限制站点)


在我们的案例中,测试基于Jbehave和Serenity。第一次测试总是通过,第二次测试失败,出现上述异常。为每个场景打开新的Webdriver实例有助于解决问题。

来自异常中的消息。。执行最后一次FindElement()时浏览器窗口是否打开。单击()?是的,它已打开。但我觉得不知怎么的,连接断了(只是一个猜测)。那就试试旧版本的浏览器吧?是的,我想到了这个。Well已经在我的办公室提出了卸载IE11并安装IE8的请求。让我们看看它是否能正常工作。是的,需要对注册表进行更改,以允许IE11和WebDriver彼此正常工作。在进入兔子洞之前,首先尝试这一点是绝对重要的,因此,请让您的管理员对其进行分类。如果它不起作用,让我们回到绘图板上,但是在你完成了使它在第一时间起作用所需的基本步骤之前,没有必要继续。这是本页的完整答案