Исключение Selenium «Не удается найти элемент в закрытом окне» с использованием IE 11

#c# #internet-explorer #selenium #selenium-webdriver

#c# #internet-explorer #selenium #selenium-webdriver

Вопрос:

Когда я запускаю свой простой тестовый пример selenium, я получил «Не удается найти элемент в закрытом окне»

 IWebDriver driver = new   InternetExplorerDriver(@"C:DevelopmentDriversIEDriverServer_x64_2.42.0");
driver.Navigate().GoToUrl("http://www.google.com");

var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(20));
wait.Until(ExpectedConditions.ElementExists(By.Name("q")));

IWebElement query = driver.FindElement(By.Name("q"));
query.SendKeys("Selenium");
query.Submit();

wait.Until((d) => { return d.Title.ToLower().StartsWith("Selenium");});
driver.Quit();
  

Что происходит, когда я запускаю свой код?
Когда я запускаю свой код, первое, что происходит, это открытие консоли, которая сообщает мне
«Запущен InternetExplorerDriver server (64-разрядный) 2.42.0.0»

Второе, что происходит, это то, что IE 11 начинается с текста
«Это начальная страница запуска для сервера WebDriver».

Третье, что происходит, это www.google.com загружается и отображается в том же веб-браузере.

Теперь тестовый пример ожидает поиска элемента q, но он не может найти элемент q. Таким образом, время ожидания тестового примера истекло.

Но почему селен не находит элемент, веб-страница может загружаться, и я вижу поле поиска. Я уже давно работаю над этой проблемой и начинаю немного раздражаться, что я делаю не так, чего мне не хватает? Я использую VS 2013

Комментарии:

1. Используйте только 32-разрядную версию драйвера и ознакомьтесь с документацией: code.google.com/p/selenium/wiki / … необходимо выполнить дополнительную настройку, чтобы у драйвера был какой бы то ни было шанс связаться с IE11. Кроме того, не используйте Google. Что угодно, но Google.

2. Спасибо, Арран, иногда я становлюсь слепым.