Документация 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" }
}