Объекты среды выполнения

Статические переменные

Статическими переменными называются переменные, которые устанавливаются системой в определенном контексте и как правило содержат значения неких параметров окружения в данном контексте. Статические переменные, как и аргументы, могут быть использованы только для чтения, вы не можете их устанавливать или менять. Также, статические переменные не могут быть использованы в подстановке данных, в отличии от переменных и аргументов.

Статическими переменные, созданные в определенном контексте доступны во всех допустимых контекстах, а также являются контекстно-зависимыми.

В настоящий момент доступны следующие статические переменные:

Переменная Описание Контексты
lastUrl URL последней загруженной страницы Все
url URL текущей страницы Страничный, блоковый и контекст формы
responseCode Код ответа сервера для текущего HTTP запроса Страничный, блоковый и контекст формы
filename Имя последнего сохраненного файла или изображения Все
object_saved Если объект был сохранен в базу, данной переменной будет присвоено значение "yes". Если же объект не был записан (при записи в режиме update) - присвоенное значение будет "no". All
pool_ignored Contains number of duplicate URLs that were ignored by the link_add command. All

Несмотря на то, что статические переменные доступны практически во всех контекстах, фактически использовать их вы сможете только в блоковом контексте, поскольку регистр существует только в блоковом контексте и единственная команда для работы со статическими переменными работает с регистром.

Ниже приведен пример использования статической переменной url:

          ---
config:
    agent: Chrome
do:
- walk:
    to: http://www.somesite.com
    do:
    - find:
        path: body
        do:
        - static_get: url
        - variable_set: page_url # теперь в этой переменной находится значение http://www.somesite.com