@NotLetters Спасибо!
Подскажите, блок получение писем, будет искать последнее письмо?
[BrowserActionEmulation] - модуль для выполнения различных действий в браузере
-
Название: 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
- Добавил фичу о которой упоминал @Inwnew
- Много фиксов багов в действиях "Двигать мышь и кликнуть на элемент" и "Двигать мышь и ввести текст поле"
- Много текстовых правок интерфейса и описаний действий модуля.
- Фиксы некоторых действий для положения прокрутки X
Известные проблемы:
- Если делать клик внутри элемента у которая есть своя внутренняя прокрутка на странице (вправо или вниз), не зависимо от всей прокрутки страницы, модуль нормально не кликнет не элемент если он не виден. В стандартном действии BAS решение такой проблемы тоже не очень реализовано в виде мгновенного портала к элементу с замиранием мыши. Особенно это заметно на мобильных отпечатках из-за малого разрешения экрана .Такое поведение нужно будет полностью переделать, но сделать это не просто и займет много времени, когда займусь неизвестно пока.
-
@Lawsd said in [BrowserActionEmulation] - модуль для выполнения различных действий в браузере:
@FastSpace а возможно сделать действие, которое будет выбирать рандомное значение из комбобокса ( как в discord или в tiktok). будет очень удобно, если так сделаете
Такое действие уже есть в BAS, но оно работает не совсем так мне это бы хотелось, выше написал уже что клики по элементам со своим скролом надо переделать с нуля.
P.S. Сделал мини фикс и перезалил, исправил определение полей в действии Двигать мышь и ввести текст.