Объекты среды выполнения
Базовые понятия
Средой выполнения является программное окружение, доступное во время работы диггера. Среда выполнения состоит из нескольких контекстов и диггер, будучи запущенным, в любой момент времени всегда находится в одном из них:
Общий контекст - диггер еще не загрузил страницу или уже вышел из области видимости загруженной ранее страницы.
Страничный контекст - диггер загрузил страницу и находится в области видимости этой страницы.
Блоковый контекст - диггер загрузил страницу, перешел в определенный блок на странице и находится в области видимости этого блока.
Контекст формы - диггер загрузил страницу, перешел в определенную форму на странице и находится в области видимости этой формы.
Диггер также может находиться сразу в нескольких контекстах. Так, например, пока диггер работает, он всегда находится в общем контексте, и как только загружает любую страницу он переходит в страничный контекст и в то же время все еще находится в общем контексте. Далее алгоритм парсера переходит в HTML ноду и попадает в блоковый контекст, оставаясь в то же время в страничном и общем контексте. От контекста зависит с какими объектами может взаимодействовать диггер, какие команды могут быть исполнены и какие опции могут быть использованы. Объекты могут быть контекстно-зависимыми и контекстно-независимыми, у последних значения хранимые в них не изменяются в зависимости от контекста.
Для упрощения понимания областей видимости мы приводим рисунок ниже.
Обратите внимание!
Важно не путать объекты среды выполнения с объектами данных (о которых мы поговорим позже). Объекты данных - это записи в массиве собранных данных, а объекты среды выполнения - элементы программного процесса парсинга с которыми работает диггер.
Вы не можете изменить конфигурацию в процессе работы диггера.
Необходимо остановить диггер, сделать необходимые изменения и запустить снова.