Критич. ошибка в логе: "Таймаут во время выполнения MouseMove"
-
и меня возьмите к себе в топик :)
у меня тоже в новых версиях начало сыпать "Таймаут во время выполнения MouseMove" хотя блок "эмуляция бездействия" в режиме [4] т.е. только сон, движения мышью нету.
-
Тоже столкнулся с такой проблемой.
UPD: Ошибку вызывает блок "настойка мыши", без него все работает.
-
Это или настройки мыши или процесс браузера вылетел.
-
Присоединяюсь к теме. Процесс вроде жив был.
-
заметил такую штуку (воспроизвел несколько раз, закономерность присутствует):
если во время выполнения например "эмуляция бездействия" происходят какие-то процессы на странице, например загрузка какого-то элемента, то вылетает в "Таймаут во время выполнения MouseMove".Берем любую страницу, например [https]://ria.ru/science/ (на ней у меня точно воспроизводится проблема). "браузер"->"загрузить" и она грузится довольно долго, не укладываясь в таймаут. Оборачиваем загрузку в игнорирование ошибок. Все ок, страница загрузилась.
Далее действие "двигать мышь и кликнуть на элемент", происходит переход на другую страницу где такой же залипон, но ошибки нет. Следующим идет блок "эмуляция бездействия" и на нем ловим "Таймаут во время выполнения MouseMove", хотя реально - это таймаут загрузки страницы, на которую мы перешли после клика, а не таймаут движения мышью.Почему такие траблы с загрузкой я пока не смог понять, как вариант один из элементов или JS библиотек залип в подгрузке или какая-то JS либа решила что-то заинклудить на страницу. В обычном браузере страница открывается без проблем, а в БАСе уходит в таймаут. Интересно бы узнать как БАС чекает загружена ли страница.
P.S.
по сути получается так, если на странице начинается какое-то движение инициированное JS либами, БАС ловит его понимая что страница загружается и при таймауте, таймаут достается тому блоку, который сейчас выполняется. Возможно я ошибаюсь или не достаточно точно описал, но по наблюдениям как-то так картина получается.
-
@Sevenup можно в обычном браузере посмотреть время загрузки
http://prntscr.com/fruwa0
-
@DrPrime said in Критич. ошибка в логе: "Таймаут во время выполнения MouseMove":
@Sevenup можно в обычном браузере посмотреть время загрузки
http://prntscr.com/fruwa099% страницы загружается за <5c потом тянется какой-то их пиксель и на нем провал. Если его игнорировать то загрузка очень быстрая. Но таких пикселей, которые инклудит JS на разных сайтах бывает довольно часто.
Можно оборачивать страницу в игнорирование ошибок и все казалось бы ок.
Но, если вдруг, на странице, какая-то JS через N времени решит заинклудить что-то еще, например вебвизор движение мышью и вдруг он сделает это долго, БАС вылетит с ошибкой таймаута того блока, на котором находится выполнение проекта в данный момент. Как в данном случае блока движения мышью (эмуляция бездействия).
-
@Sevenup Странно вообще, почему ошибка именно в блоке бездействия. Посмотрел код модуля, там нету привязки к елементам, просто получаются размеры страницы и в рамках этих размеров двигает мышью по координатам.
Попробуй отключить полную загрузку страницы, и привязаться к какому то элементу, который гарантированно прогружается сразу
-
@DrPrime said in Критич. ошибка в логе: "Таймаут во время выполнения MouseMove":
@Sevenup Странно вообще, почему ошибка именно в блоке бездействия. Посмотрел код модуля, там нету привязки к елементам, просто получаются размеры страницы и в рамках этих размеров двигает мышью по координатам.
Попробуй отключить полную загрузку страницы, и привязаться к какому то элементу, который гарантированно прогружается сразуhttp://c2n.me/3LT14XK.png
именно так и реализовано, отключена ожидание загрузки и включен таймаут с обернутый в игнорирование ошибок, дальше сон что бы дать время загрузится, а далее уже "двигать мышью и кликнуть на элемент", после клика по элементу происходит переход на другую страницу где снова элементы, которые грузятся долго. После клика происходит переход на "эмуляция бездействия" 7с, а на самом деле она происходит не 7с, а около 30 и/или вываливается в "Таймаут во время выполнения MouseMove".
-
Получилось исправить? Ошибка тоже надоела. Потоки стопаются из-за нее.
-
@Ranout Если ошибка в блоке бездействия, можно попробовать его написать самому. Тут же на форуме где то была функция.
-
@Ranout said in Критич. ошибка в логе: "Таймаут во время выполнения MouseMove":
Получилось исправить? Ошибка тоже надоела. Потоки стопаются из-за нее.
поставь больше таймаут и к-во ошибок при выполнении проекта пока задача не решиться - это позволит тебе продолжать использовать проект без остановок.
-
-
-
P.S.
по сути получается так, если на странице начинается какое-то движение инициированное JS либами, БАС ловит его понимая что страница загружается и при таймауте, таймаут достается тому блоку, который сейчас выполняется. Возможно я ошибаюсь или не достаточно точно описал, но по наблюдениям как-то так картина получается.Нет, таймауты не могут путаться, максимум что может быть - таймаут загрузки может спутаться с другой загрузкой, но не с движением мыши.
Ту дело в другом, а именно в то время как стает пустой во время перезагрузки функция скрола не возращает значение, из-за этого таймаут. Сейчас правлю.
-
@Sevenup said in Критич. ошибка в логе: "Таймаут во время выполнения MouseMove":
Почему такие траблы с загрузкой я пока не смог понять, как вариант один из элементов или JS библиотек залип в подгрузке или какая-то JS либа решила что-то заинклудить на страницу. В обычном браузере страница открывается без проблем, а в БАСе уходит в таймаут. Интересно бы узнать как БАС чекает загружена ли страница.
Скорее всего метрика + Украина.
-
@support said in Критич. ошибка в логе: "Таймаут во время выполнения MouseMove":
@Sevenup said in Критич. ошибка в логе: "Таймаут во время выполнения MouseMove":
Почему такие траблы с загрузкой я пока не смог понять, как вариант один из элементов или JS библиотек залип в подгрузке или какая-то JS либа решила что-то заинклудить на страницу. В обычном браузере страница открывается без проблем, а в БАСе уходит в таймаут. Интересно бы узнать как БАС чекает загружена ли страница.
Скорее всего метрика + Украина.
через прокси ж работа :)
конкретно в случае с страницей "[http://]ria .ru/ science" http://c2n.me/3LSVbfd.png на скрине видно, что не метрика.если кому интересно, можно воспроизвести описанным выше способом, дублирую:
- блок "браузер"->"загрузить" (грузим для примера страницу [http://]ria .ru/ science)
- блок браузера оборачиваем в игнорирование ошибок или выключаем ожидание загрузки, если выключаем ожидание, после ставим спать несколько секунд давая время загрузится странице
- блок "двигать мышь к элементу и кликнуть" на любую ссылку страницы
- происходит переход на страницу, по которой кликнули
вот тут вопрос, как в случае клика работает "ожидание загрузки"? наследует режим предыдущего блока "загрузить" т.е. в нашем случае выключено?
- пока страница по которой мы кликнули пыжиться и не может догрузиться, у нас уже включается блок "эмуляция бездействия" и на нем мы получаем таймаут MouseMove параллельно наблюдая как страница так и не может загрузиться
при такой последовательности ошибка у меня воспроизводится в 80% случаев, потому и пришел к описанному выше выводу.
P.S.
я не много букв пишу? :) Вы если что меня останавливайте :)))
-
@Sevenup Исправил.
https://bablosoft.com/distr/BrowserAutomationStudioDevelopment/20.0.4/BrowserAutomationStudioInstallAllInOne.exeОшибка была в том, что между рендером новой страницы и началом загрузки document в js был нулевой, и функция прокрутки не возвращала значение.
если кому интересно, можно воспроизвести описанным выше способом, дублирую:
Это уже работает.
вот тут вопрос, как в случае клика работает "ожидание загрузки"? наследует режим предыдущего блока "загрузить" т.е. в нашем случае выключено?
Действие "Загрузка" считается выполненным, когда от браузера придет событие OnLoadEnd. Тоесть все как у обычного браузера.
"Ждать Полной Загрузки" сложнее.
Упрощенно, это действие ждет либо OnLoadEnd либо окончания запросов которые были сделаны за последний промежуток времени.
Я придумал алгоритм сам, старался чтобы он работал и для обычных страниц, и там где все через ajax и сайтов, которые совершают запросы постоянно, вроде сервиса для стриминга или видеохостингов.Вот тут можно посмотреть код
https://github.com/bablosoft/BAS/blob/6ac6369a844e4466fe085b7d643ebfd928c77511/Engine/scripts/engine/worker/waiters.js#L395-L462я не много букв пишу? :) Вы если что меня останавливайте :)))
Для меня идеально шаги для повторения ошибки(как сделали вы) или проект.
-
@support said in Критич. ошибка в логе: "Таймаут во время выполнения MouseMove":
@Sevenup Исправил.
https://bablosoft.com/distr/BrowserAutomationStudioDevelopment/20.0.4/BrowserAutomationStudioInstallAllInOne.exeОшибка была в том, что между рендером новой страницы и началом загрузки document в js был нулевой, и функция прокрутки не возвращала значение.
если кому интересно, можно воспроизвести описанным выше способом, дублирую:
Это уже работает.
вот тут вопрос, как в случае клика работает "ожидание загрузки"? наследует режим предыдущего блока "загрузить" т.е. в нашем случае выключено?
Действие "Загрузка" считается выполненным, когда от браузера придет событие OnLoadEnd. Тоесть все как у обычного браузера.
"Ждать Полной Загрузки" сложнее.
Упрощенно, это действие ждет либо OnLoadEnd либо окончания запросов которые были сделаны за последний промежуток времени.
Я придумал алгоритм сам, старался чтобы он работал и для обычных страниц, и там где все через ajax и сайтов, которые совершают запросы постоянно, вроде сервиса для стриминга или видеохостингов.Вот тут можно посмотреть код
https://github.com/bablosoft/BAS/blob/6ac6369a844e4466fe085b7d643ebfd928c77511/Engine/scripts/engine/worker/waiters.js#L395-L462супер! спасибо за фикс, код алгоритма изучу...
по ссылке выше загружается версия 20.0.2 вместо 20.0.4, при запуске обновление до 20.0.4 не просит. На сайте для скачивания также 20.0.2. Возможно при загрузке Вы по ошибке вместо 20.0.4 загрузили 20.0.2.
-
@Sevenup Так и должно быть. У вас работает фикс?