@e94048fb6d said in Проверка дубликатов меток в проекте:
@Fox можете отписать в лс? не хватает репутации,Чтоб отписать
Лайкнул вам пост, что бы вы могли писать в личку
Название: BrowserActionEmulation
Версия: 2.1
Данные: browseractionemulation.zip
Требуемая версия BAS: 29.3.0 или старше
Согласие на добавление модуля в BAS: Да
Описание: Модуль предназначен для выполнения различных действий в браузере: прокрутка, движение мыши, проверка состояния браузера и т.д. Этот модуль представляет собой расширенную версию встроенного модуля в BAS - "Эмуляция бездействия". Все действия в модуле используют 2 новых вида API BAS (BAS_HIDE и BAS_SAFE) которое скрывает от сайта выполнение различных методов в браузере.
В этом модуле улучшены или переделаны некоторые стандартные действия в BAS, например действие "Двигать мышь и очистить текст из поля" использует 2 новых поведения: Двойной щелчок левой кнопки мыши по текстовому полю с последующим нажатием клавиши BACKSPACE или посимвольное удаление каждой буквы/цифры текста. Действие двигать мышь и ввести текст в поле теперь имеет возможность указать задержку перед вводом текста. В модуль встроено также множество новых видов поведения - обновить страницу в браузере, сделать случайную прокрутку или дождаться загрузки текущей веб страницы, двигать мышь в случайные координаты с возможность указать недопустимую область для передвижения курсора мыши и т.д.
Скриншоты:

История версий:
Спасибо за модуль, отличная задумка.
Только что попробовал на версии 26.5.1. Действие Двигать мышь и ввести текст в поле не двигает мышь, текст вводится, но эмулирует просто клик по полю без движения.
@Inwnew said in [BrowserActionEmulation] - модуль для выполнения различных действий в браузере:
Спасибо, исправил и перезалил.
Сыроват модуль, если честно не понял стандартные действия как то по другому реализованы ? я про вот это утверждение 2 новых вида API BAS (BAS_HIDE и BAS_SAFE)
Не работает с такими конструкциями клик
XPATH> //li[@data-value="en-US"] | //li[@data-value="en"]
При выборе языка на форме логина гугла. Стандартный действие отлично находит.
@FastSpace А можно изменить действие Двигать мышь и ввести текст в поле так, чтобы после клика на поле до ввода текста курсор сдвигался случайным образом вправо/влево/вверх/вниз? Типа юзер кликнул на поле для ввода и слегка отодвинул курсор, чтоб не мешал. Или слишком геморрно будет?
Вышла версия 1.1
Изменено поведение действия "Scroll", теперь модуль проверит что если перед прокруткой курсор мыши находился не в совсем положенном месте там где нужно делать прокрутку, например в отрицательных координатах или в углу текущей видимой области браузера. В таком случае сначала будет выполнено действие двигать мышь в случайные координаты и только потом начнётся прокрутка.
В блок "Выполнить эмуляцию одного действия" добавлено новое поведение - история назад. Во время выполнение этого действия курсор мыши передвинеться в левый верхний угол браузера, там где и должна находиться кнопка "назад".
В действие "Двигать мышь и ввести текст в поле" немного переделаны по текстому полю, теперь такой клик произойдет на случайно 2 - 20%, а не 15% от левого края.
Исправил все баги в действии "Двигать мышь и кликнуть на элемент" о которых мне написали и которые я смог повторить.
Новая возможность: теперь действие "Двигать мышь и кликнуть элемент" проверит что элемент находиться в углу текущей видимой области браузера (10% отступ снизу и 10% сверху), тогда он сделает прокрутку так чтобы элемент не находился в углу 3 видами способов случайно:
Вот скриншот о чем говорю:
Однако тут возникает проблема, что элемент может быть зафиксирован на странице и нужно было сделать так что если он зафиксирован то не делать таких прокруток, модуль в таком случае дополнительно проверит позицию элемента через стили и если он равен "static", только тогда произойдет прокрутка, но бывают ситуации что static не всегда гарантирует что элемент в потоке скролиться, мои тесты показали что у 90% элементов такой проблемы не возникает, а даже если и возникнет ничего странного что модуль сделает лишний раз прокрутку, это намного лучше чем делать клики на элементы по углам браузера.
@FastSpace Спасибо большое за твои старания, очень приятно видеть как развивается бас с помощью модулей и комьюнити
Версия 1.2
Известные проблемы:
@Lawsd said in [BrowserActionEmulation] - модуль для выполнения различных действий в браузере:
@FastSpace а возможно сделать действие, которое будет выбирать рандомное значение из комбобокса ( как в discord или в tiktok). будет очень удобно, если так сделаете
Такое действие уже есть в BAS, но оно работает не совсем так мне это бы хотелось, выше написал уже что клики по элементам со своим скролом надо переделать с нуля.
P.S. Сделал мини фикс и перезалил, исправил определение полей в действии Двигать мышь и ввести текст.