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

База знаний

Элемент не найден и остальные строки упавшего шага

Упавший шаг пишет под собой одну короткую строку в журнале шагов на экране «Сценарии». В таблице ниже собраны эти строки, с условием за каждой и полем, которое надо поменять.

Где пишется эта строка

Журнал шагов отводит каждому шагу одну строку: имя шага, его состояние и одну строку подробностей. У упавшего шага в ней и стоит причина.

Законченные прогоны хранятся на диске вместе с последними строками журнала.

Упавший шаг не кончает прогон

Остальные профили идут дальше, а что делает этот профиль, решает правило сценария, и его называет строка прямо над кнопкой «Запустить сценарий». Новый сценарий останавливает профиль на упавшем шаге. Сценарий из прежней версии ARMANOS всё равно исполняет следующий шаг и докладывает в конце.

В конце профиль помечается неудачным и сообщает, сколько его шагов сломалось. Прогон, где есть такой профиль, неудачен целиком.

«Готово» значит сделанные шаги

Прогон, где сломались все шаги, готовым не считается. В итоге названо, сколько их сломалось, и поэтому зелёная строка в «Центре задач» никогда не стоит над сценарием, который ничего не сделал.

Строки и что менять

Одно предложение приходит от нескольких разных шагов.

СтрокаЧто значитЧто менять
Окно браузера закрыто.Вкладки, которую вёл прогон, больше нет. Это проверяется перед каждым шагом.Ищите шаг, закрывающий вкладку, или окно, закрытое рукой во время прогона.
URL не заполнен.После подстановки переменных пригодного адреса не осталось.Проверьте переменную, дающую адрес. Открывать можно только веб-адреса и пустую страницу.
Не удалось перейти по адресу.Браузер не загрузил адрес.Откройте тот же адрес рукой в этом профиле, а потом смотрите на прокси.
Элемент не появился вовремя.Шаг ожидания смотрел снова и снова до своего срока и так и не увидел селектор.Поднимите срок на шаге или ждите то, что страница показывает раньше.
Элемент не найден.Клик, ввод, прокрутка или извлечение посмотрели один раз и ничего не нашли.Поставьте перед ними ожидание. Пустой селектор читается так же.
Не удалось отправить нажатие клавиши.Браузер не принял ни передачу фокуса, ни само нажатие.Сперва щёлкните по полю, а потом нажимайте клавишу.
Селектор не заполнен.У шага условия или перебора после подстановки переменных селектора не оказалось.Заполните поле селектора или проверьте стоящую там переменную.
Шаблон URL не заполнен.Переход к вкладке по адресу или шаг «Ждать запрос», а сверять не с чем.Впишите в поле совпадения кусок адреса.
Код не заполнен.Тело шага со своим кодом оказалось пустым.Заполните тело. Переменная, давшая пустоту, опустошает его так же.
Подходящий запрос не пришёл вовремя.Слушать начали вместе с шагом, и до конца срока ничего не совпало.Поставьте шаг перед тем кликом, который вызывает запрос, а не после него.
Куки не найдены.Поле имени пустое или на этом сайте нет ничего под таким именем.Заполните имя и будьте на том сайте, которому принадлежат куки.
В этой вкладке нет открытой страницы.На шаге нет домена, а во вкладке нет веб-страницы. Очистке всегда нужна вкладка на сайте.Сперва перейдите на сайт или заполните поле домена у шага.
Слишком много снимков экрана за один прогон (предел 100).Один профиль перешёл предел одного прогона. Снимок внутри повтора считается на каждом проходе.Вынесите снимок из повтора или разделите сценарий надвое.
Вкладка не найдена.Переход по номеру указал дальше открытых вкладок, переход по адресу не нашёл ни одной подходящей, либо закрываемой вкладки уже не было.Сверьте номер с тем, сколько вкладок открыто к этому шагу, а кусок адреса с тем, что в них загружено.
Не удалось сохранить куки.Браузер не принял запись. Та же строка стоит и над удалением, которого он не принял.Сверьте домен и путь на шаге с настоящими куки.
Этот профиль открыт вам только для запуска: менять его может хозяин или тот, кому дали правку.Аккаунт правку этого профиля от вас не принимает.Попросите у хозяина правку.
Тег длиннее 40 знаков.Ничего не поменялось.Сократите тег или переменную в нём.
У профиля стало бы больше 20 тегов.Ничего не поменялось.Сначала снимите теги или добавляйте меньше.
Заметка стала бы длиннее 20 000 знаков: выберите «Заменить заметку».«Дописать заметку» хранит прежние строки. Ничего не срезано.Переключите шаг на «Заменить заметку».
У шага нет строки для файла TXT.Поле «Строка» у шага «Записать в файл» пустое.Заполните его.
У шага нет ни одного столбца.Файлу CSV, XLSX или JSON нужен хотя бы один.Добавьте столбец.
Файл данных не записан: проверьте место на диске и доступ к папке данных.Диск полон или в папку данных нельзя писать.Освободите место и нажмите «Папка данных».
Новая вкладка недоступна, использована текущая вкладка.Это не падение. Шаг помечен сделанным, а адрес открылся в уже открытой вкладке.Ничего, пока следующий шаг не берёт вкладку по номеру: там теперь другая вкладка.

Когда строка значит не то

Три строки читают неверно чаще прочих, и прямое прочтение ведёт человека править не то поле.

  • URL не заполнен.

    Так же пишется и про имя переменной, которого сценарий не знает: к моменту шага от него не остаётся ничего. И про адрес, открывать который сценарию не дано: сценарий это файл, который люди пересылают друг другу, поэтому проходят только веб-адреса и пустая страница.

  • Элемент не найден.

    У клика, ввода, прокрутки и извлечения нет отдельной жалобы на пустой селектор, поэтому пустой приходит сюда.

  • Куки не найдены.

    Чтение куки всегда привязано к сайту во вкладке или к домену на шаге, а не ко всему профилю.

Голое слово вместо предложения

Когда шаг со своим кодом переходит предел времени, он пишет не предложение, а голое слово js_timeout.

Как собрать улики

Прогоните сценарий на одном профиле, чтобы журнал вышел коротким, и прочитайте строку НАД сломанной. Обычно в ней и назван шаг, оставивший страницу не в том виде.

Напишите через «Помощь» → «Написать в поддержку», назвав имя сценария и время. В отчёте, который едет вместе с письмом, названы выбранный движок и выпуск программы.

Чего эта статья не разбирает

  • Прогон, не дошедший до первого шага. У запуска своя строка, и ей отведена статья про сценарий, который не начинается.
  • Сценарий, отклонённый до начала: в нём нет шагов, не выбраны профили или подписка требует внимания.
  • Ошибки, написанные самой страницей. Переводить их не нам, и ни одной из них в таблице выше нет.
  • Сборку сценария и выбор селекторов. Это отдельный предмет статьи про сборку сценария.

Где это решается

Каждое утверждение выше это место в коде, а стенд назван там, где он есть.

Сломанный шаг идёт в итог, и прогон, где сломались все шаги, не докладывается готовым
apps/desktop/test/run-result-honest.js
Законченный прогон лежит на диске и читается обратно при запуске
apps/desktop/test/run-log-survives-restart.js
Сценарий можно послать только по веб-адресу, и проверка повторяется в момент самого шага
apps/desktop/test/rpa-reach.js
Каждая строка таблицы это запись словаря с переводом на каждый язык программы
apps/desktop/src/i18n/messages.js
Условие за каждой строкой, по одному на вид шага
apps/desktop/src/main/main.js

Вопросы

Есть ли номер ошибки, чтобы назвать его поддержке?
Нет. Каждая строка таблицы это предложение, переведённое на любой язык программы, и называть её надо так, как видите её.
Может ли один шаг подвесить прогон навсегда?
Нет. У шагов ожидания и у шага со своим кодом есть собственный предел времени, и за ним шаг падает со своей строкой.

Так и не вышло

Поддержка отвечает причиной, а не списком советов.