@Михаил96 Теперь можете
BASPremium
-
@yury_0e2c1b said in BASPremium:
Приветствую. Отличная программа, спасибо создателям BAS за это творение)
Есть вопросы:- Планируется ли сделать покупку BASPremium на 3 и 1 месяц?
- Есть потребность в функции, описание далее. При клике на объекте в браузере, нужно чтобы клик был с заданной паузой - эмуляция реального нажатия левой кнопки мышки и отпускание этой кнопки, через какое-то время. Может она уже где-то есть, но я не нашел. Возможно ли такое добавить в BAS?
- Нет
- Можно воспользоваться действием "Начать Перетаскивание На Элементе" и "Закончить Перетаскивание На Элементе", в них есть метод
mouse_down(X,Y)!и
mouse_up(X,Y)!соответственно.
Создать клик на элементе с задержкой (нажать, подождать 1 секунду и только потом отпустить), можно соединив в одном действии оба метода, через "выполнить код":
_SELECTOR = " \u003eCSS\u003e #hdtb-msb-vis \u003e :nth-child(2) \u003e a"; wait_element_visible(_SELECTOR)! _call(_random_point, {})! _if(_result().length > 0, function(){ move( {} )! get_element_selector(_SELECTOR, false).clarify(X,Y)! _call(_clarify, {} )! mouse_down(X,Y)! sleep(1000)! mouse_up(X,Y)! })!
Вот тестовый скрипт
-
@usertrue said in BASPremium:
@fox Это очень плохой способ и не правдоподобный, нормальная задержка в среднем 110 мск + / - . Я честно сказать, всегда был уверен, что задержки есть, пока сегодня не проверил.
Плохой способ в чём? Время можно увеличить любым способом. Смотри, сделал тестовую форму
https://codepen.io/anon/pen/BgxKqK
она измеряет время клика, сколько миллисекунд пройдёт после нажатия на левую кнопку мыши и её отжатием.Действие "Двигать Мышь И Кликнуть На Элемент" даёт задержку 1-2мс:

Если в кастомное действие клика добавить не сон в 1 секунду, а чтение несуществующего файла:
_SELECTOR = " \u003eCSS\u003e #result \u003eFRAME\u003e \u003eCSS\u003e #but"; wait_element_visible(_SELECTOR)! _call(_random_point, {})! _if(_result().length > 0, function(){ move( {} )! get_element_selector(_SELECTOR, false).clarify(X,Y)! _call(_clarify, {} )! mouse_down(X,Y)! native("filesystem", "readfile", JSON.stringify({value: "1",base64:false,from:0,to:0})) mouse_up(X,Y)! })!То задержка составит 60-80мс:

Можно вообще использовать ноду
:Dawait (new Promise((resolve, reject) => { setTimeout(function(){ resolve() }, 100); }));Задержку в этом случае можно регулировать как хочется

Тикет по улучшению я создам, а пока, думаю, вполне можно использовать эти способы.
Чуть не забыл, тестовый скрипт
-
@fox Плохой не только во времени но и жуткой костыльности. Добавь еще в тикет ввод текста. Там тоже нет задержек.
-
-
@usertrue said in BASPremium:
@fox Интервал меду вводом это другое, есть события нажатия и отжатия клавиши тк же как у мышки.
Да я понял, проверил сейчас на тестовой форме
https://codepen.io/anon/pen/ewrRGQдействие "ввод текста" вводит текст со скоростью отжатия 0-2мс

Когда самое быстрое отжатие, что я смог сделать на своей клавиатуре, составило 15мс
-
@fox said in BASPremium:
Тикет по улучшению я создам, а пока, думаю, вполне можно использовать эти способы.
Спасибо, здорово. А можно еще паузу нажатия вставить в форму, в самом БАС? Вот сюда:
http://skrinshoter.ru/s/020719/bOT4dTvS
и сюда
http://skrinshoter.ru/s/020719/iddGg9JG?aМне например сейчас нужно нажать и удерживать ЛКМ в нужной точке на экране. Может это тоже можно пока через скрипт сделать, как в примерах выше?
-
@yury_0e2c1b said in BASPremium:
@fox said in BASPremium:
Тикет по улучшению я создам, а пока, думаю, вполне можно использовать эти способы.
Спасибо, здорово. А можно еще паузу нажатия вставить в форму, в самом БАС? Вот сюда:
http://skrinshoter.ru/s/020719/bOT4dTvSНе уверен, что @support вообще будет править эти действия
Мне например сейчас нужно нажать и удерживать ЛКМ в нужной точке на экране. Может это тоже можно пока через скрипт сделать, как в примерах выше?
Да, можно, самый первый пример, через действие "выполнить код"

