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

Переменные

Переменная в мета-языке - это именованная область памяти. Данные, находящиеся в переменной, называются значением этой переменной.

Основные моменты, которые вы должны знать о переменных в мета-языке:

  1. Переменные служат для хранения каких либо данных, и использования их в разных блоках и контекстах
  2. В переменные могут быть записаны строковые литералы напрямую, из регистра или из других переменных
  3. Переменные используются как подставные данные для различных команд, включая команды для заполнения регистра
  4. Переменные существуют во всех контекстах и контекстно-независимы

Ниже приведены примеры использования переменных:

              # ИСПОЛЬЗУЕМ ПЕРЕМЕННЫЕ `term` и `page` ПРИ ПЕРЕХОДЕ НА ОПРЕДЕЛЕННУЮ СТРАНИЦУ
- walk:
    to: 'http://www.somesite.com/?q=<%term%>&page=<%page%>'
    do:

# ИСПОЛЬЗУЕМ ПЕРЕМЕННЫЕ `term` и `page` В КОМАНДЕ ДЛЯ ДОБАВЛЕНИЯ ЛИНКА В ПУЛ
- link_add:
    pool: results
    url: 'http://www.somesite.com/?q=<%term%>&page=<%page%>'

# ИСПОЛЬЗУЕМ ПЕРЕМЕННУЮ `date` В КОМАНДЕ ДЛЯ ПОИСКА БЛОКОВ ПО CSS-PATH
- find:
    path: '.vetrina > tbody > tr:has(td:nth-of-type(4):matches(<%date%>))'
    do:
              
              # ИСПОЛЬЗУЕМ ПЕРЕМЕННЫЕ В POST ЗАПРОСЕ
- walk:
    repeat: <%repeat%>
    to:
        post: https://www.someonlinestore.com/shop/AjaxCategoryCustomResultsView
        data:
            storeId: 31150
            catalogId: <%catid%>
            langId: -1
            categoryId: <%categoryid%>
            frgPageName: CategoryPage
            beginIndex: <%ind%>
            currentPageNumber: <%cpn%>
            pageView: grid
            currentScrollNumber: <%cpn%>
            env_maxEditorialScroll: 0
        headers: 
            x-requested-with: XMLHttpRequest
    do:

# ИСПОЛЬЗУЕМ ПЕРЕМЕННУЮ `age` В ФОРМЕ
- find:
    form: main
    do:
    - fields_set:
        age: <%age%>
    - submit
              
                # ИСПОЛЬЗУЕМ ПЕРЕМЕННУЮ `age` ПРИ УСТАНОВКЕ ЗНАЧЕНИЯ В РЕГИСТР
- register_set: Маше было <%age%> лет

# ИСПОЛЬЗУЕМ ПЕРЕМЕННЫЕ `fieldname` и `age` ПРИ УСТАНОВКИ ИМЕНИ ПЕРЕМЕННОЙ И ЕЕ ЗНАЧЕНИЯ
- variable_set:
    field: <%fieldname%>
    value: Маше было <%age%> лет
                
              # ИСПОЛЬЗУЕМ ПЕРЕМЕННУЮ `total` ПРИ ВЫПОЛНЕНИИ JS КОДА
- eval:
    routine: js
    body: '(function() {
              var t = <%total%>;
              var offset = [];
              for (var i = 1; (i-1)*26 < t; i++) {
                offset.push(i);
              }
              return offset.join(",");
            })();'
              

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