Отслеживание динамической загрузки элементов страницы ajax?

Все вопросы касающиеся использования
программы можно задать здесь
Ответить
OlegGraf
Сообщения: 76
Зарегистрирован: 04 ноя 2011, 01:01

Отслеживание динамической загрузки элементов страницы ajax?

Сообщение OlegGraf » 30 сен 2013, 14:59

Здравтвуйте
Есть сайт, например http://russianproxy.ru/traceroute
Результат долго подгружается ajax скриптами
Результат подгружается в дивы в текстовом виде
Назрел вопрос:
Как с помощью функционала Хумана отследить завершение обработки и получения всех данных?

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 3048
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Re: Отслеживание динамической загрузки элементов страницы aj

Сообщение bigfozzy » 30 сен 2013, 15:10

Как варианты :

1. Использовать $bWaitElementExistBeforeAction=true; (xweb_human_emulator.php)
2. Руками проверять существование нужных элементов (те что создаются последними через is_exist)
3. Использовать $browser->wait_js()
4. Просто sleep()

OlegGraf
Сообщения: 76
Зарегистрирован: 04 ноя 2011, 01:01

Re: Отслеживание динамической загрузки элементов страницы aj

Сообщение OlegGraf » 30 сен 2013, 15:46

1. Использовать $bWaitElementExistBeforeAction=true; (xweb_human_emulator.php)
Включил, все также
2. Руками проверять существование нужных элементов (те что создаются последними через is_exist)
К сожалению это не подходит, как я и писал внутри элемента добавляется только динамический текст, без html, и для каждого сайта разный
3. Использовать $browser->wait_js()
Не работает, по крайней мере скрипты еще не выдали результат а $browser->wait_js() уже отработал

Код: Выделить всё

4. Просто sleep()
Не вариант, т.к. время очень разное

5. Функция $browser->get_ready_state() работает глючно, то выдает READYSTATE_COMPLETE то READYSTATE_INTERACTIVE причем скрипты еще работают

Дайте четкое решение по проблеме отслеживания работы ajax скриптов на странице сайта и не только данного примера

Данная проблема на сегодняшний день очень актуальна. большинство сайтов выдающих статистику используют ajax
Должна быть функция которая отслеживает завершение работы ajax скриптов.
Думаю меня поддержат многие

OlegGraf
Сообщения: 76
Зарегистрирован: 04 ноя 2011, 01:01

Re: Отслеживание динамической загрузки элементов страницы aj

Сообщение OlegGraf » 23 окт 2013, 22:20

Вот вам пример
На странице http://www.content-watch.ru/website/
Вводим URL http://www.woman.ru/beauty/cosmetics/thread/3896327/
Нажимаем кнопку Проверить
В цикле проверяю
for($i=0;$i<25;$i++){
if($image->is_exist_by_name('newcheck')) break;
sleep(5);
}
Но это не верно в данном случае т.к. возникает ошибка на сайте, всплывающий блок, "Текста мало"
Данный блок был в верстке и скрыт, при ошибке он стал видимым, но скрипт уже отработал.
Мой предыдущий цикл это отловить не может и работает все 25 раз.
Как такое отловить?
Как Хуманом правильно отследить завершение работы ajax яваскрипта на данной странице?

Germ
Сообщения: 44
Зарегистрирован: 09 июл 2010, 19:14

Re: Отслеживание динамической загрузки элементов страницы aj

Сообщение Germ » 24 окт 2013, 06:21

Как вариант попробовал бы задействовать поиск координат картинки на скриншоте страницы.

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 3048
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Re: Отслеживание динамической загрузки элементов страницы aj

Сообщение bigfozzy » 24 окт 2013, 10:20

$image->get_by_xxx()->is_visible(); например или любой другой элемент

OlegGraf
Сообщения: 76
Зарегистрирован: 04 ноя 2011, 01:01

Re: Отслеживание динамической загрузки элементов страницы aj

Сообщение OlegGraf » 24 окт 2013, 15:26

->is_visibled()
Последний раз редактировалось OlegGraf 24 окт 2013, 15:42, всего редактировалось 1 раз.


Ответить