Понимание принципа работы списка событий и описание событий WBAppCEF

Содержание


Понимание принципа работы списка событий

[WAITFORMAINFRAMELOAD] (ожидание готовности загрузки WEB-страниц)

[WAITFORRESPONSE] (ожидание ответа на запрос по указанному URL)

[WAIT] (подождать указанное время)

[GETHTML] (берет текущий HTML код WEB документа браузера для его использования в качестве результата работы WBApp)


Для возврата к содержанию нажимайте кнопку home


Понимание принципа работы списка событий


WBAppCEF (список событий)

В режиме парсинга после запуска WBAppCEF и завершения загрузки WEB страницы запускается список событий.

Примечание: Как настроить ожидание завершения загрузки WEB страниц

Элементы списка событий выполняются в порядке их расположения в нем (сверху вниз). Для повторения определенных событий можно использовать циклы или метки. Также есть события проверки условий (изучите принцип работы событий на этой странице).

Когда все элементы списка событий будут выполнены, WBAppCEF завершит свою работу и передаст код WEB-страницы или другие полученные данные в Content Downloader (изучите основы работы WBAppCEF).


[WAITFORMAINFRAMELOAD] (ожидание готовности загрузки WEB-страниц)


Content Downloader

Примечание: Не всегда скрипты на WEB-странице готовы к работе сразу после загрузки основного фрейма. Иногда требуется разместить дополнительное событие ожидание [WAIT] после [WAITFORMAINFRAMELOAD]

Примечание: Если данный способ ожидания загрузки WEB страниц на каких-то сайтах работает некорректно, обратите внимание на другие способы.


[WAITFORRESPONSE] (ожидание ответа на запрос по указанному URL)


При открытии любой WEB страницы в браузере сначала посылается запрос по указанному адресу WEB страницы. Затем браузер получает ответ – код HTML. В полученном коде могут располагаться Javascript (или ссылки на них), которые браузер загружает и затем выполняет их. При выполнении Javascript в браузере могут посылаться GET или POST запросы для подгрузки дополнительного контента. Например, на некоторых сайтах таким образом подгружается цена или таблица характеристик товара. Также дополнительные запросы могут инициироваться при прокрутке WEB страницы вниз, чтобы догрузить выдачу.

Событие [WAITFORRESPONSE] служит для ожидания ответа на запрос к любому указанному URL. Это может быть основной URL WEB страницы или URL для подгрузки дополнительных данных, о которых говорилось чуть выше. Таким образом можно дожидаться готовности загрузки WEB страницы или подгрузки данных после имитации действий пользователя в браузере.

Событие выглядит так:

1
[WAITFORRESPONSE(MaximalWaitTime_Seconds)]:URLEntry

Где:

MaximalWaitTime_Seconds – максимальное время ожидания ответа в секундах
URLEntry – часть URL, ответа на запрос которого нужно дождаться. Например, если вы ожидаете запрос к http://…/ShowTechData?PID=123, то в качестве параметра URLEntry укажите вхождение ShowTechData?PID. Если в качестве параметра URLEntry указать значение AnyURLEntry, то событие [WAITFORRESPONSE] будет дожидаться любого первого ответа на запрос.

Примечание: Браузер получает контент по запросу, который он сделал, обрабатывает полученные данные и строит/достраивает отображаемую WEB страницу. На построение/достроение WEB страницы требуется время. По этому после события [WAITFORRESPONSE] настоятельно рекомендуется размещать событие ожидания [WAIT], чтобы браузер успел обработать полученные данные.

1
2
[WAITFORRESPONSE(100)]:ShowTechData?PID
[WAIT]:500

Если вы используете событие [WAITFORRESPONSE] для ожидания готовности загрузки WEB страницы, разместите его в самом начале списка событий и добавьте параметр запуска [INSTANTACTIONS], чтобы запуск списка событий стартовал одновременно с запуском WBApp:

1
2
3
4
[INSTANTACTIONS]
[WAITFORRESPONSE(100)]:ShowTechData?PID
[WAIT]:500
...

Для того, чтобы узнать URL адреса, по которым подгружаются данные в браузере можно использовать монитор сети WBApp

Запуск монитора сети WBAppCEF

Также обратите внимание на монитор сети браузера Firefox (shift+ctrl+e в Firefox).


[WAIT] (подождать указанное время)

Событие [WAIT] служит для приостановки выполнения списка событий на указанное время с целью ожидания выполнения каких-либо действий браузером или скриптами.

1
2
3
4
5
6
7
8
9
10
11
12
[WAIT]:Time (ms)
 
Подождать 1 секунду (alt+1):
[WAIT]:1000
 
Подождать 2 секунды (alt+2):
[WAIT]:2000
 
Подождать 3 секунды (alt+3):
[WAIT]:3000
 
...



[GETHTML] (берет текущий HTML код WEB документа браузера для его использования в качестве результата работы WBApp)


Событие [GETHTML] служит для получения HTML кода открытой WEB страницы браузера в момент выполнения этого события.

Если в процессе выполнения списка событий хотя бы один раз сработал [GETHTML], то в результат работы WBApp попадет код WEB страницы НЕ на момент завершения работы приложения, а тот код, который был при срабатывании события [GETHTML].

Если в процессе выполнения списка событий вызов [GETHTML] произойдет несколько раз, то в результат работы WBApp попадет сумма HTML кодов, взятых этими событиями [GETHTML]. Таким образом можно, например, при прокликивании страниц выдачи сайта, суммировать в результат работы WBApp код каждой страницы выдачи и передать все собранные данные в Content Downloader при завершении работы приложения WBApp.

При срабатывании событий [GETHTML] будет отображаться длина накопленного кода в символах.

Если при многократном вызове [GETHTML] длина накопленного кода будет слишком большая (более 10 000 000 символов), то рекомендуется использовать событие [GETHTML] с применением функции поиск-замены (чтобы убрать лишний HTML код).

Справка по функциям поиск-замены.

Также обратите внимание на вариант [GETHTML] с использованием границ парсинга для извлечения нужного кода (клик для справки).


1 Star2 Stars3 Stars4 Stars5 Stars (оценок: 2, средний балл: 5.00)

Loading...
Автор: admin, 9 March 2020
Рубрики: Новости
Tags: ,

Последние статьи

css.php