#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. Спасибо, Арран, иногда я становлюсь слепым.