Здравствуйте, на одноклассниках при поиске групп, чтобы подгружать ссылки на группы есть ссылка “Показать больше”, не могу на неё никак кликнуть, в Selenium IDE срабатывает, а в Webdriver выдаёт ошибку, вот код, которым пытаюсь кликнуть: if (isMoreGroups == true)
{
IWebElement ButtonMoreGroups = driver.FindElement(By.LinkText(“Показать ещё”)); //ButtonMoreGroups.sendKeys(“”);
IJavaScriptExecutor js = driver as IJavaScriptExecutor;
js.ExecuteScript(“arguments[0].scrollIntoView();” , ButtonMoreGroups);
Thread.Sleep(3000);
ButtonMoreGroups.Click();
Thread.Sleep(3000);
}
Сделал через ExecuteAsyncScript(“arguments[0].click();” ,ButtonMoreGroups,"");
Теперь ошибку выдаёт: Additional information: Timed out waiting for async script result after 7ms
Не знаю, что этой функции скормить, чтобы дальше выполнение шло:(((
Либо добавь коллбэк в асинхронный вызов жс-а (жди какого-то ответа на странице, изменения в каком-то статусе чего-либо и тд), либо если это не надо, выполни этот клик синхронно с executeScript(). ExecuteAsyncScript нужен для вызова на странице асинхронных запросов и контроля его выполнения.
Вообще, тестируя ajax, старайся проверять выполнения запросов именно какими-то изменениями на странице/в жс-е, а не расставляя по всему коду слипы.