Пишу код на C#.
WebDriver 2.45.0.0
Firefox 36.0.4
Есть небольшой тест, который
1. Открывается страницу
2. Авторизуется на сайте
3. Потом формирует некий URL, и проходит по нему.
4. На открытой странице ищет содержимое по CSS селектору: div.target.
Первые 3 этапа проходят отлично, но вот последний не работает. При этом я вижу, как на открытой странице данные элементы есть.
Ищу элементы вот так: driver.FindElements(By.CssSelector("div.target"));
Через определенное время выдается ошибка: The HTTP request to the remote WebDriver server for URL....
Такое ощущение, что он теряет браузер, т.к. не может вообще ничего найти на этой странице.
В чем может быть проблема?
В коде я сделал несколько методов, и в методы передаю IWebDriver driver.
Например, в последнем шаге у меня метод:
private bool checkUsers(IWebDriver driver) { var searchUserUrl = "http://site.ru/Search/Users?p=1"; var url = HttpUtility.ParseQueryString(searchUserUrl); ... driver.Navigate().GoToUrl(searchUserUrl); var elements = driver.FindElements(By.CssSelector("div.target")); //Дальше он не идет :( ... }
Метод вызывается так:
var ffProfile = new FirefoxProfile(); ffProfile.SetPreference("permissions.default.image", 2); ffProfile.SetPreference("dom.ipc.plugins.enabled.libflashplayer.so", "false"); using (IWebDriver driver = new FirefoxDriver(ffProfile)) { try { driver.Navigate().GoToUrl(BaseUrl); .... checkUsers(driver); ... } }
Не понимаю в чем дело...
Уже и Так пробовал:
var wait = new WebDriverWait(driver, new TimeSpan(0, 0, 1, 0)); wait.PollingInterval = new TimeSpan(0,0,1); wait.Until(ExpectedConditions.ElementExists(By.CssSelector("div.target")));
Тоже не находит. Страница при этом не грузится и никуда не обращается...