Документация 0.4 Справочник действий
Ждать элемент на странице
browser.waitElement · Браузер
Ждёт, пока элемент появится, станет видимым, скроется или исчезнет
Ждёт, пока элемент на странице появится, станет видимым, скроется или исчезнет. Ставьте после отправки формы — дождаться результата, — и чтобы проверить, есть ли на странице сообщение об ошибке, не останавливая процесс.
Свойства #
| Свойство | Имя в файле | Значение | Обязательное | По умолчанию | Описание |
|---|---|---|---|---|---|
| Селектор | selector |
селектор страницы | да | — | Селектор Playwright: CSS (#id, .class), text=Войти, xpath=//button, role=button[name="OK"] |
| Состояние | state |
выбор из списка | нет | visible |
visible — виден, hidden — скрыт или отсутствует, attached — есть на странице, detached — удалён. Значения: visible, hidden, attached, detached. |
| Таймаут, мс | timeoutMs |
число | нет | 10000 | |
| Ошибка по таймауту | throwOnTimeout |
да/нет | нет | да | Если выключено, по таймауту шаг завершается успешно, а выход = false |
| Сессия | session |
текст | нет | main |
Имя сессии браузера (по умолчанию main); несколько сессий — несколько окон |
Результат #
Значение выхода сохраняется в переменную, выбранную для него в свойствах шага (раздел выходов).
| Выход | Имя в файле |
|---|---|
| Дождались | found |
Как работает #
- Селектор (
selector) — селектор Playwright: CSS (#fio,.btn-primary,input[name="phone"]), текст (text=Войти), роль (role=button[name="Отправить"]), XPath (xpath=//table/tr[2]). Как найти селектор — Пикер элементов. Если селектор находит несколько элементов, решает первый (например, первая строка таблицы). - Состояние (
state):visible— виден (по умолчанию),hidden— скрыт или отсутствует,attached— есть в разметке страницы (может быть невидим),detached— удалён со страницы. - Таймаут, мс (
timeoutMs, по умолчанию 10000) — сколько ждать, пока элемент появится и станет доступным. - Ошибка по таймауту (
throwOnTimeout, включено) — выключите, чтобы по таймауту шаг завершился успешно, а выход Дождались был „нет“. - Сессия (
session, по умолчаниюmain) — имя окна браузера, открытогоbrowser.open. Нужно, только если процесс работает с несколькими окнами сразу.
Ошибки #
| Код | Причина и что делать |
|---|---|
Timeout |
Элемент не перешёл в нужное состояние за время ожидания |
BrowserError |
Сессия не открыта или браузер закрыт |
InvalidArgument |
Селектор с ошибкой синтаксиса |
При ошибке робот сохраняет снимок страницы: в студии — ссылка «Открыть скриншот» в «Лог», в оркестраторе — на странице задания.
Пример #
Есть ли на странице сообщение об ошибке (ждать 2 с, без ошибки шага):
{
"type": "browser.waitElement",
"props": { "selector": ".alert-danger", "state": "visible", "timeoutMs": 2000, "throwOnTimeout": false },
"out": { "found": "hasError" }
}