@anarbus в глобальной переменной укажите время окончания работы, и пусть каждый поток периодически проверяет, не вышло ли это время, если вышло - завершить работу. А в асинхронной функции можно установить жесткий останов скрипта, если время превышено вдвое, например. Хотя, если всё отлажено, то асинхронка и не нужна.
Как сделать так, чтобы после обнаружения элемента на экране, скрипт начинал все дейсвия сначала?
-
- Проверить существование элемента (проверять видно ли на экране) либо если тебе нужно найти то что 100% появится то ждать элемент и задать время таумаута .
- IF (Переменная с результатом проверки) {
Если проверка true то перейти к метке, которую заранее нужно установить или сброс либо из логики скрипта fail или success , смотря что тебе нужно определять.
};