[BrowserActionEmulation] - модуль для выполнения различных действий в браузере

Делитесь модулями
  • Вышла версия 1.1

    • Изменено поведение действия "Scroll", теперь модуль проверит что если перед прокруткой курсор мыши находился не в совсем положенном месте там где нужно делать прокрутку, например в отрицательных координатах или в углу текущей видимой области браузера. В таком случае сначала будет выполнено действие двигать мышь в случайные координаты и только потом начнётся прокрутка.

    • В блок "Выполнить эмуляцию одного действия" добавлено новое поведение - история назад. Во время выполнение этого действия курсор мыши передвинеться в левый верхний угол браузера, там где и должна находиться кнопка "назад".

    • В действие "Двигать мышь и ввести текст в поле" немного переделаны по текстому полю, теперь такой клик произойдет на случайно 2 - 20%, а не 15% от левого края.

    • Исправил все баги в действии "Двигать мышь и кликнуть на элемент" о которых мне написали и которые я смог повторить.

    • Новая возможность: теперь действие "Двигать мышь и кликнуть элемент" проверит что элемент находиться в углу текущей видимой области браузера (10% отступ снизу и 10% сверху), тогда он сделает прокрутку так чтобы элемент не находился в углу 3 видами способов случайно:

    1. небольшая прокрутка, тогда элемент слегка поднимется ближе к видимой области экрана,
    2. средняя прокрутка - элемент поднимется к центру видимой области браузера и
    3. большая прокрутка , элемент поднимется к верхней части видимой области браузера.
      Люди не кликают по углам браузера.

    Вот скриншот о чем говорю:

    Однако тут возникает проблема, что элемент может быть зафиксирован на странице и нужно было сделать так что если он зафиксирован то не делать таких прокруток, модуль в таком случае дополнительно проверит позицию элемента через стили и если он равен "static", только тогда произойдет прокрутка, но бывают ситуации что static не всегда гарантирует что элемент в потоке скролиться, мои тесты показали что у 90% элементов такой проблемы не возникает, а даже если и возникнет ничего странного что модуль сделает лишний раз прокрутку, это намного лучше чем делать клики на элементы по углам браузера.

  • @FastSpace Спасибо большое за твои старания, очень приятно видеть как развивается бас с помощью модулей и комьюнити

  • Версия 1.2

    • Добавил фичу о которой упоминал @Inwnew
    • Много фиксов багов в действиях "Двигать мышь и кликнуть на элемент" и "Двигать мышь и ввести текст поле"
    • Много текстовых правок интерфейса и описаний действий модуля.
    • Фиксы некоторых действий для положения прокрутки X

    Известные проблемы:

    • Если делать клик внутри элемента у которая есть своя внутренняя прокрутка на странице (вправо или вниз), не зависимо от всей прокрутки страницы, модуль нормально не кликнет не элемент если он не виден. В стандартном действии BAS решение такой проблемы тоже не очень реализовано в виде мгновенного портала к элементу с замиранием мыши. Особенно это заметно на мобильных отпечатках из-за малого разрешения экрана .Такое поведение нужно будет полностью переделать, но сделать это не просто и займет много времени, когда займусь неизвестно пока.
  • Перезалил 1.2 версию, несколько фиксов для двигать мышь в случайные координаты, в формуле была ошибка небольшая.

  • @FastSpace а возможно сделать действие, которое будет выбирать рандомное значение из комбобокса ( как в discord или в tiktok). будет очень удобно, если так сделаете

  • @Lawsd said in [BrowserActionEmulation] - модуль для выполнения различных действий в браузере:

    @FastSpace а возможно сделать действие, которое будет выбирать рандомное значение из комбобокса ( как в discord или в tiktok). будет очень удобно, если так сделаете

    Такое действие уже есть в BAS, но оно работает не совсем так мне это бы хотелось, выше написал уже что клики по элементам со своим скролом надо переделать с нуля.

    P.S. Сделал мини фикс и перезалил, исправил определение полей в действии Двигать мышь и ввести текст.

  • @Nicolas said in [BrowserActionEmulation] - модуль для выполнения различных действий в браузере:

    XPATH> //li[@data-value="en-US"] | //li[@data-value="en"]

    Попробуй так:

    //li[@data-value="en-US" or @data-value="en"]
    
  • @sergerdn Ты верно не понял, стандартное действие и с | прекрасно работает. Может Фаст уже и поправил.

  • @Nicolas Уже должно работать.
    Я в многопотоке кручу свой модуль, всё работает как я и хотел. Все возможные баги увидел и поправил.

  • @Nicolas said in [BrowserActionEmulation] - модуль для выполнения различных действий в браузере:

    @sergerdn Ты верно не понял, стандартное действие и с | прекрасно работает. Может Фаст уже и поправил.

    Я все правильно понял и предложил тоже самое, написанное по другому. Так как если есть баг, то, может быть, с другим написанием он обходится.

  • Можешь пожалуйста добавить этот функционал в свое действие "Двигать мышь и кликнуть на элемент" Спасибо
    изображение.png
    и "часики" Спасибо
    31f43622-767f-4108-9c05-ee37b2d7112b-изображение.png

  • @FastSpace

    Здравствуйте! Отличный модуль! Прям кайф.. но вот что обнаружил

    [589050176] [22:47:53] Поток №2 : Поток завершился с сообщением "TypeError: Cannot read properties of null (reading 'scrollHeight')"

  • @estlsflctvrpn said in [BrowserActionEmulation] - модуль для выполнения различных действий в браузере:

    Можешь пожалуйста добавить этот функционал в свое действие "Двигать мышь и кликнуть на элемент" Спасибо
    изображение.png
    и "часики" Спасибо
    31f43622-767f-4108-9c05-ee37b2d7112b-изображение.png

    Часики уже есть действие такое, проверить загружена ли страница - проверка намного лучше той которая в BAS сейчас там.
    Но внутрь можно добавить такое, как буду апдейтить модуль сделаю может.

  • @Mihail-nn said in [BrowserActionEmulation] - модуль для выполнения различных действий в браузере:

    @FastSpace

    Здравствуйте! Отличный модуль! Прям кайф.. но вот что обнаружил

    [589050176] [22:47:53] Поток №2 : Поток завершился с сообщением "TypeError: Cannot read properties of null (reading 'scrollHeight')"

    У меня тоже есть такое где то 1 из 5000 случаев, на каком действии возникает?

  • Пушка. Спасибо!

  • @FastSpace said in [BrowserActionEmulation] - модуль для выполнения различных действий в браузере:

    @Mihail-nn said in [BrowserActionEmulation] - модуль для выполнения различных действий в браузере:

    @FastSpace

    Здравствуйте! Отличный модуль! Прям кайф.. но вот что обнаружил

    [589050176] [22:47:53] Поток №2 : Поток завершился с сообщением "TypeError: Cannot read properties of null (reading 'scrollHeight')"

    У меня тоже есть такое где то 1 из 5000 случаев, на каком действии возникает?

    В основном как обратил внимание ток во время "сна"
    Если что, постараюсь еще зафиксировать какие моменты! Но это очень круто! Раньше костылями делал сам... а тут вы мастер!
    Где реквизиты н данаат!? :)

  • @Mihail-nn said in [BrowserActionEmulation] - модуль для выполнения различных действий в браузере:

    [589050176] [22:47:53] Поток №2 : Поток завершился с сообщением "TypeError: Cannot read properties of null (reading 'scrollHeight')"

    страница скорей document еще не был создан на момент выполнения js кода

  • Версия 1.3

    • Пофиксил редкую ошибку TypeError: Cannot read properties of null (reading 'scrollHeight')
  • при вводе длинного текста с помощью действия "Двигать мышь и ввести текст в поле" вылетает ошибка : "Поток завершился с сообщением "Таймаут во время выполнения type for[documentRoot]"". Таймаут действия в этом кубике настроить нельзя. Скорость 0 поставить тоже нельзя.

  • @cruz said in [BrowserActionEmulation] - модуль для выполнения различных действий в браузере:

    при вводе длинного текста с помощью действия "Двигать мышь и ввести текст в поле" вылетает ошибка : "Поток завершился с сообщением "Таймаут во время выполнения type for[documentRoot]"". Таймаут действия в этом кубике настроить нельзя. Скорость 0 поставить тоже нельзя.

    Так и задумано.