@asdxvc3242
Попробуйте отключить модуль и решить recaptcha.
Проблема с эмуляцией бездействия
-
Здравствуйте. У меня проблема с бездействием. У меня скрипт листает страницу вниз.. и должен на том же месте тупо шевелить мышкой куда он долистал.. для этого в прошлой версии БАС все работало. Стоят сл параметры [2,3,3,3] но в последней версии при вызове эмуляции бездействия страница резко улетает вверх (в начало).
Как это понять? Я так понимаю это баг!
0_1540840542734_1540123630804-test.xml -
@uraabk 21.3.0
Удалил полностью почистил все ничего не помогло.. перекидывает и все вверх..
Посути с такими параметрами он вообще не должен листать [2,3,3,3]Ставию просто 4 бездействие то не перекидывает вверх.
При 3 просто вообще зависает)
При 2 перекидывает вверх сразу в начало страницы
А вот при 1 не перекидывает и листает с места откуда была пролистана страница.. тут явно какой то косяк. -
Такая же проблема у еще одного человека http://community.bablosoft.com/topic/5498/сервис-fingerprintswitcher-обновлен-до-версии-2-0-0/18
-
@Wolf Посмотрел сейчас код модуля и понял в чём дело:
page().script("document.body.scrollLeft")! IDDLE_CURSOR_POSITION_SCROLL_X = parseInt(_result()) page().script("document.body.scrollTop")! IDDLE_CURSOR_POSITION_SCROLL_Y = parseInt(_result())document.body.scrollLeft и document.body.scrollTop эти команды возвращают значение прокрутки страницы от левого и от верхнего края соответственно, после обновления браузера
Вот тестовый скрипт для наглядности:
Версия BAS 21.0.2

Этот же скрипт, версия BAS 21.3.0

Решается заменой оных на window.pageYOffset и window.pageXOffset соответсвенно.
Ещё заметил в 3 - случайные движения мыши на короткое расстояние странное условие:
_if(IDDLE_EMULATION_CURRENT_ITEM == 3, function(){ //short move if(IDDLE_CURSOR_POSITION_X < 0 || IDDLE_CURSOR_POSITION_Y < 0) _break()Странность в том, что объявляются они в начале скрипта:
IDDLE_CURSOR_POSITION_X = -1 IDDLE_CURSOR_POSITION_Y = -1и ни где они не переопределяются:
//short move log(IDDLE_CURSOR_POSITION_X) log(IDDLE_CURSOR_POSITION_Y) if(IDDLE_CURSOR_POSITION_X < 0 || IDDLE_CURSOR_POSITION_Y < 0) _break()
Кого утомил деталями - извините
:D
Вот итоговый, рабочий скрипт с правильно рабочим действием "Эмуляция бездействия".
А вот изменённый модуль, для установки нужно распокавать IdleEmulation в папку модулей BrowserAutomationStudio\apps\21.3.0\modules с заменой файлов.
-
document.body.scrollLeft и document.body.scrollTop эти команды возвращают значение прокрутки страницы от левого и от верхнего края соответственно, после обновления браузера
Спасибо, исправил
Ещё заметил в 3 - случайные движения мыши на короткое расстояние странное условие:
Короткое перемещение мыши должно происходить до координат, которые близко к текущему положению. Во время самого первого перемещения текущие координаты неизвестны, поэтому короткое перемещение совершать нельзя. Понять что перемещение является первым можно проверив переменные
IDDLE_CURSOR_POSITION_XиIDDLE_CURSOR_POSITION_Y, если они меньше нуля.Странность в том, что объявляются они в начале скрипта:
и ни где они не переопределяются:Они хранят текущее положение мыши и переопределяются после движения курсора, например тут:
_if(IDDLE_EMULATION_CURRENT_ITEM == 2, function(){ //long move page().script("document.body.scrollLeft")! IDDLE_CURSOR_POSITION_SCROLL_X = parseInt(_result()) page().script("document.body.scrollTop")! IDDLE_CURSOR_POSITION_SCROLL_Y = parseInt(_result()) /// /// Переменные содержат новое положение мыши /// IDDLE_CURSOR_POSITION_X = rand(1,IDDLE_CURSOR_POSITION_WIDTH) IDDLE_CURSOR_POSITION_Y = rand(1,IDDLE_CURSOR_POSITION_HEIGHT) move(IDDLE_CURSOR_POSITION_SCROLL_X + IDDLE_CURSOR_POSITION_X,IDDLE_CURSOR_POSITION_SCROLL_Y + IDDLE_CURSOR_POSITION_Y)! })!