Перейти к основному содержимому

Формы

browser_type​

Ввод текста в редактируемый элемент (input, textarea, contenteditable).

ПараметрТипОбязательныйОписание
targetstringдаИдентификатор элемента из снимка или уникальный селектор
textstringдаТекст для ввода в элемент
submitbooleanнетНажать Enter после ввода
slowlybooleanнетВводить текст по одному символу. Полезно для вызова обработчиков событий клавиатуры; по умолчанию весь текст вставляется сразу
→ browser_type { target: "e5", text: "Buy groceries" }
→ browser_type { target: "e5", text: "Buy groceries", submit: true }
→ browser_type { target: "e8", text: "search query", slowly: true }

browser_fill_form​

Заполнение нескольких полей формы за один вызов. Поддерживаются текстовые поля, флажки, переключатели, поля со списком и ползунки. Это эффективнее, чем вызывать browser_type и browser_click для каждого поля по отдельности.

ПараметрТипОбязательныйОписание
fieldsobject[]даПоля для заполнения

Каждое поле представляет собой объект:

Ключ поляТипОбязательныйОписание
namestringдаПонятное человеку название поля
targetstringдаИдентификатор элемента или селектор
typestringдаtextbox, checkbox, radio, combobox или slider
valuestringдаЗначение для заполнения. Для флажка или переключателя используйте "true" / "false"; для поля со списком — текст варианта
→ browser_snapshot
- textbox "First name" [ref=e3]
- textbox "Last name" [ref=e5]
- textbox "Email" [ref=e7]
- checkbox "Accept terms" [ref=e9]
- combobox "Country" [ref=e11]
- radio "Annual plan" [ref=e15]

→ browser_fill_form {
fields: [
{ name: "First name", target: "e3", type: "textbox", value: "Alice" },
{ name: "Last name", target: "e5", type: "textbox", value: "Smith" },
{ name: "Email", target: "e7", type: "textbox", value: "alice@example.com" },
{ name: "Accept terms", target: "e9", type: "checkbox", value: "true" },
{ name: "Country", target: "e11", type: "combobox", value: "United States" },
{ name: "Annual plan", target: "e15", type: "radio", value: "true" }
]
}
примечание

Чтобы изменить состояние отдельного флажка или переключателя, нажмите на него с помощью browser_click или используйте browser_fill_form с type: "checkbox" (или "radio") и value: "true" / "false".

Секреты​

Значения, передаваемые в browser_type и browser_fill_form, сопоставляются с файлом секретов, указанным с помощью --secrets <path> (в формате dotenv). Совпавший заполнитель заменяется реальным значением до передачи на страницу, а в сгенерированном коде вместо значения отображается SECRET_<name>.

Рабочий процесс: заполнение многошаговой формы​

Вы: Заполните регистрационную форму на этой странице.

→ browser_snapshot
// Страница 1: Личные данные
- textbox "Email" [ref=e3]
- textbox "Password" [ref=e5]
- button "Next" [ref=e7]

→ browser_type { target: "e3", text: "alice@example.com" }
→ browser_type { target: "e5", text: "s3cureP@ss!" }
→ browser_click { target: "e7" }

// Страница 2: Профиль
- textbox "Display name" [ref=e3]
- combobox "Timezone" [ref=e5]
- checkbox "Subscribe to newsletter" [ref=e7]
- button "Create account" [ref=e9]

→ browser_fill_form {
fields: [
{ name: "Display name", target: "e3", type: "textbox", value: "Alice S." },
{ name: "Timezone", target: "e5", type: "combobox", value: "US/Pacific" },
{ name: "Subscribe", target: "e7", type: "checkbox", value: "true" }
]
}
→ browser_click { target: "e9" }