Добрый день.
Использую селениумовский webdriver. С#.
Ситуация:
После стандартного клика (IWebElement.Click()) по объекту, открывается новая страница и в ней в течении минут 5 в форму подгружаются данные таким образом, что сама страница также в статусе busy, т.е. индикатор загрузки активен.
Хочу в этой грузящейся странице отслеживать данные, которые появляются в форме. Проблема в том, что стандартный клик ждет окончания загрузки страницы и только потом переходит к следующему действию. Т.е. действию отслеживания.
Сейчас все это дело на клике падает по эксепшну, что сервер не отвечает.
Пробовал через Actions builder = new Actions(TestFramework.WebDriver).Click(TestFramework.FindWebElement(this)) - та же ситуация.
Вопрос: есть ли какой-то метод, подобный стандартному клику, который не ждет окончания загрузки страницы? И это вообще возможно?

Событие Click
Автор simeon, 10 ноя 2011 12:17
Сообщений в теме: 2
#1
Отправлено 10 ноября 2011 - 12:17
#2
Отправлено 11 ноября 2011 - 07:47
Для InternetExplorer:
((JavascriptExecutor)driver).executeScript("arguments[0].fireEvent('onClick');", element);
Для остального:
((JavascriptExecutor)driver).executeScript("var evt = document.createEvent('MouseEvents');" +
"evt.initMouseEvent('click',true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0,null);" +
"arguments[0].dispatchEvent(evt);", element);
((JavascriptExecutor)driver).executeScript("arguments[0].fireEvent('onClick');", element);
Для остального:
((JavascriptExecutor)driver).executeScript("var evt = document.createEvent('MouseEvents');" +
"evt.initMouseEvent('click',true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0,null);" +
"arguments[0].dispatchEvent(evt);", element);
#3
Отправлено 11 ноября 2011 - 07:52
Алекс, большое спасибо. Ваш ответ мне пригодится в будущем.
Решение своей проблемы нашел сегодня утром. Оказалось, я работал с обновленным ФФ8 и с не обновленным вебдрайвером 2.11.0. Сам селениум не обновил его еще.
В итоге веб драйвер работал некорректно в этой части в ФФ8. В 7-й версии работает все хорошо.
Спасибо еще раз.
Решение своей проблемы нашел сегодня утром. Оказалось, я работал с обновленным ФФ8 и с не обновленным вебдрайвером 2.11.0. Сам селениум не обновил его еще.
В итоге веб драйвер работал некорректно в этой части в ФФ8. В 7-й версии работает все хорошо.
Спасибо еще раз.
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных