NoSuchElementException is occurred during implementation of InternetExplorerDriver in Selenium WebDriver

internet-explorer, java, selenium-webdriver

Solution

You've explicitly avoided having to set the Protected Mode settings of IE. That's what the `InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS` capability setting does. When you remove this capability setting and set the Protected Mode settings as documented in the project wiki, it seems the problem resolves itself.

Problem

Currently, I am working on WebDriver to invoke IE browser to run the testing. But I received a `NoSuchElementException` when I tried to run the simple example below. However, the code just worked fine if I used Chrome Driver or Firefox driver. Any idea or thought would be appreciated. Jar: `selenium-server-standalone-2.5.0.jar` Code: ``` import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.ie.InternetExplorerDriver; import org.openqa.selenium.remote.DesiredCapabilities; public static void main(String[] args) throws InterruptedException { DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer(); ieCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true); WebDriver driver = new InternetExplorerDriver(ieCapabilities); driver.get("www.google.com"); driver.findElement(By.name("q")); } ``` Error message: ``` Exception in thread "main" org.openqa.selenium.NoSuchElementException: Unable to find element with name == q (WARNING: The server did not provide any stacktrace information) For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html Build info: version: '2.5.0', revision: '13516', time: '2011-08-23 18:29:57' System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.6.0_25' Driver info: driver.version: RemoteWebDriver at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:131) at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:105) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:409) at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:197) at org.openqa.selenium.remote.RemoteWebDriver.findElementByName(RemoteWebDriver.java:246) at org.openqa.selenium.By$ByName.findElement(By.java:298) at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:189) at lib.WebDriver2.main(WebDriver2.java:14) ```

Original source