Перейти к содержимому

Cepega

Регистрация: 02 апр 2015
Offline Активность: 02 апр 2015 14:57
-----

Мои темы

Не видит элементов на странице

02 апреля 2015 - 13:44

Пишу код на 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")));

Тоже не находит. Страница при этом не грузится и никуда не обращается...