Обучение Урок 3 из 12
Веб-форма в браузере
- Цель
- Заполнить и отправить веб-форму роботом, прочитать ответ страницы и записать номера заявок в Excel
- Время
- 25 минут
Файлы примеров
- 03_web_form.flow.json — 2,7 КБ
- 04_excel_to_web.flow.json — 4,2 КБ
- clients.xlsx — 6,8 КБ
- form.html — 8,7 КБ
Что понадобится #
- Студия Tulpar и браузер Microsoft Edge (он есть в Windows 10 и 11).
- Файлы примеров:
03_web_form.flow.json,04_excel_to_web.flow.json,form.htmlиclients.xlsx.
Процессы ищут форму и таблицу по путям ../web/form.html и ../data/clients.xlsx — относительно своей папки.
Проще всего открыть готовые копии из папки студии: samples\flows\03_web_form.flow.json. Если скачиваете файлы
с сайта, разложите их так же:
C:\Уроки\Браузер\flows\03_web_form.flow.json
C:\Уроки\Браузер\flows\04_excel_to_web.flow.json
C:\Уроки\Браузер\web\form.html
C:\Уроки\Браузер\data\clients.xlsx
form.html — учебная страница „Заявка на подключение“: ФИО, телефон, город и кнопка „Отправить заявку“. После
отправки она показывает номер заявки вида Z-123456. Откройте её в Edge и подайте заявку руками — так проще
понять, что будет делать робот.
Шаг 1. Откройте процесс веб-формы #
В студии нажмите «Открыть» и выберите 03_web_form.flow.json. На вкладке «Переменные» — аргументы fio, phone,
city и headless: значения формы можно поменять при запуске, не меняя процесс.

Шаг 2. Как робот находит поля #
browser.openоткрывает../web/form.htmlв Edge (msedge).browser.typeIntoвводит ФИО в поле с селектором#fio, телефон — в#phone.browser.selectOptionвыбирает город в списке#city.browser.clickнажимает#submit.
Селектор — адрес элемента на странице: #fio значит „элемент с id fio“. Подходят также text=…, role=… и
xpath=…. Чтобы узнать id поля, откройте форму в Edge, щёлкните поле правой кнопкой мыши → „Проверить“ (F12).
Шаг 3. Ответ страницы #
browser.waitElement ждёт, пока блок #result станет видимым (до 10 секунд), а browser.getText
читает номер из #requestNumber в переменную requestNumber. Условие control.if проверяет формат номера
выражением /^Z-\d{6}$/.test(requestNumber); в конце browser.close закрывает браузер.

Шаг 4. Запуск #
Нажмите «Запуск» (F5): откроется окно аргументов. Оставьте значения или впишите свои и нажмите «Запустить». Edge откроется, форма заполнится и отправится сама.
Аргумент headless = true запускает браузер без окна — так работают фоновые роботы.
Шаг 5. Заявки за всех клиентов из Excel #
Откройте 04_excel_to_web.flow.json. Он объединяет этот урок с уроком Таблица Excel:
- читает
clients.xlsxшагомexcel.readRange; - в цикле „Для каждого клиента“ заполняет форму значениями
{{ client['ФИО'] }},{{ client['Телефон'] }},{{ client['Город'] }}; - пишет номер заявки в колонку „Статус“ копии
clients_result.xlsxшагомexcel.writeCell; - нажимает „Подать ещё одну заявку“ (
#newRequest) и переходит к следующему клиенту.

Что должно получиться #
- Первый процесс: в «Лог» —
Заявка принята, номер: Z-…, запуск завершился успешно. - Второй процесс: в логе пять строк вида
1. Асанов Нурлан Бакытович — заявка Z-…и итогГотово: номера заявок записаны в clients_result.xlsx (5 шт.); вdata\clients_result.xlsxв колонке „Статус“ — пять номеров.
Если не получилось #
| Что видно | Что сделать |
|---|---|
| „ошибка браузера“ на первом шаге | Проверьте, что Edge установлен и открывается. В свойствах шага browser.open можно выбрать Chrome. |
| „файл не найден“ или пустая страница | Разложите файлы по папкам flows, web, data, как показано выше: путь ../web/form.html считается от папки процесса. |
| „элемент не найден“ | Проверьте селектор: #fio — с решёткой. Если форма ещё не загрузилась, добавьте перед шагом browser.waitElement. |
| „истекло время ожидания“ на шаге результата | Форма не отправилась: страница показывает ошибку над кнопкой (например, „Выберите город“ — значение city не совпало ни с одним городом списка). Запустите без headless, чтобы её увидеть. |
Дальше — урок Windows-приложение: робот работает с окнами обычной программы.