I was updating the browser WebDrivers for Seleno when I hit an issue with the InternetExplorerDriver. I was running Selenium WebDriver 2.43.1 on Windows 8.1 and using Internet Explorer 11. The test was just opening the google web page. Internet Explorer opened correctly and displayed the google page but then the test failed with the error:
OpenQA.Selenium.NoSuchWindowException : Unable to get browser
It turns out this is an issue with Internet Explorer 11 rather than the InternetExplorerDriver. This causes the InternetExplorerDriver to lose the connection to the instance of Internet Explorer it created.
I found that setting the Local Intranet zone's
Enable Protected Mode setting to true solved my problem for me.
Altkey to bring up the IE11 menu bar.
Tools > Internet Optionsand go to the
Enable Protected Modecheck box.
A number of people reported that adding the domain they were testing to the list of "Trusted Sites" solved this problem for them. You can also do this on the Security tab of Internet Options.
The wiki page for the InternetExplorer also details a registry setting that you can apply to deal with this problem.
For IE 11 only, you will need to set a registry entry on the target computer so that the driver can maintain a connection to the instance of Internet Explorer it creates. For 32-bit Windows installations, the key you must examine in the registry editor is HKEYLOCALMACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATUREBFCACHE. For 64-bit Windows installations, the key is HKEYLOCALMACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATUREBFCACHE. Please note that the FEATURE_BFCACHE subkey may or may not be present, and should be created if it is not present. Important: Inside this key, create a DWORD value named iexplore.exe with the value of 0.