Сниппеты эмуляции мыши: FullEmulationMouse

Хоть убейте, не пойму: неужто сложно сделать кубик прокрутки колесика мышки??? Разрабы!
Хорошая идея. Можете создать тему в разделе Предложения.
Планируется развивать ассортимент действий в скором будущем.
Будем вычитывать раздел Предложения, смотреть на голосования и брать в реализацию.
 
  • Спасибо
Реакции: code
Хорошая идея. Можете создать тему в разделе Предложения.
Планируется развивать ассортимент действий в скором будущем.
Будем вычитывать раздел Предложения, смотреть на голосования и брать в реализацию.
да мне казалось это мегаочевидно...
 
  • Спасибо
Реакции: Tony80
мне вот этот кубик c# помогает
C#:
Развернуть Свернуть Копировать
instance.ActiveTab.FullEmulationMouseWheel(0, 1000);
мышь уже должна быть в нужном поле которое надо проскролить
 
мне вот этот кубик c# помогает
C#:
Развернуть Свернуть Копировать
instance.ActiveTab.FullEmulationMouseWheel(0, 1000);
мышь уже должна быть в нужном поле которое надо проскролить
да я тоже его использую. но стандартный кубик не помешал бы, особенно новичкам
 
  • Спасибо
Реакции: nvrskozzy
он у меня не всегда работает кстати, хотя реальная мышка работает, обычно я выбираю блок на странице который нужно прокрутить кликом мышки кубиком эмуляции мышки по координатам, а потом этот си код на колесо мыши, но есть сайты где это не работает. а эмуляция клавитатуры END работает после клика мышки исправно, создается впечатления что после кубика эмуляция мыши и клика по координатам мышка как бы исчезает, и если она не висит над формой то прокрутки не происходит, с реальной мышкой нет проблем. кто сталкивался? если я прав в причине, то как заставить мышку всегда находиться на заданных координатах, а не кликнуть и исчезнуть?
 
А эмуляция клавиатуры не помогает, если для новичков? {DOWN} или {SHIFTDOWN}
 
А эмуляция клавиатуры не помогает, если для новичков? {DOWN} или {SHIFTDOWN}
от сайта зависит, помогает, просто я подумал это выглядит нечеловечно, обычно человек мышку использует
 
Подскажите, пожалуйста некоторые моменты:

1) При FullEmulationMouseClick("left", "click") есть пауза между mousedown и mouseup, если да то она статичная или рандомная?

2) В FullEmulation параметрах есть MinScrollSpeed и MaxScrollSpeed, по умолчанию оба по 20. Это "скорость вращения" колеса мыши или расстояние за одну прокрутку? Не могу понять, нужно ли делать разброс или нет.
 
Подскажите, пожалуйста некоторые моменты:

1) При FullEmulationMouseClick("left", "click") есть пауза между mousedown и mouseup, если да то она статичная или рандомная?

2) В FullEmulation параметрах есть MinScrollSpeed и MaxScrollSpeed, по умолчанию оба по 20. Это "скорость вращения" колеса мыши или расстояние за одну прокрутку? Не могу понять, нужно ли делать разброс или нет.

По пункту 1 - информации не нашел. Если я правильно понял инструмент, то там не должно быть паузы, вы сами ее делаете: выполнить left + down - своя пауза \ действия - выполнить left + up.

По пункту 2 - нашел такую информацию:
139338
 
  • Спасибо
Реакции: LarinOk
FullEmulationMouseClick, без разницы Up, Down или Click делать, всегда стреляет перед нажатием событием mousemove в туже точку. В результате имеем: а) задвоение mousemove в 100% кликов б) микрозадержка <10мс до mousedown которую корректировать нельзя. Мягко говоря не очень красиво получается.

И есть ли какой нибуть способ отключить рисование "дуги" в FullEmulationMouseMove? Все облазил, ничего найти не смог. В текущем варианте, если к примеру пытаться делать имитацию"дрожания", то при смещении на 1-5px этот метод работает неочень. Пробовал обычный MouseMove но с ним не могу найти где скорость можно регулировать.
 
FullEmulationMouseClick, без разницы Up, Down или Click делать, всегда стреляет перед нажатием событием mousemove в туже точку. В результате имеем: а) задвоение mousemove в 100% кликов б) микрозадержка <10мс до mousedown которую корректировать нельзя. Мягко говоря не очень красиво получается.

И есть ли какой нибуть способ отключить рисование "дуги" в FullEmulationMouseMove? Все облазил, ничего найти не смог. В текущем варианте, если к примеру пытаться делать имитацию"дрожания", то при смещении на 1-5px этот метод работает неочень. Пробовал обычный MouseMove но с ним не могу найти где скорость можно регулировать.

Я вас понял. Спасибо за описание.
Проверю у себя и подумаю, что можно сделать.
 
да я тоже его использую. но стандартный кубик не помешал бы, особенно новичкам

Всецело поддерживаю.

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

При чтении мышка как правило размещается справа чуть ниже середины и выполняет подёргивания от шевелений кисти.

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

Но если последовательно размещать короткие кубики по Имитации просмотра (и даже короткие строчки C# кода для скроллинга), то проблема в том, что при переключении мышка пропадает, поэтому наиболее полезным был бы составной кубик, где можно было бы выполнить небольшой сценарий, именно для того, чтобы мышь не пропадала.

Либо сделать некие "склеивающие" кубики, где предыдущий передаёт, а последующий принимает позицию курсора без прерываний при составной последовательности кубиков. Вот это было бы интересным решением.
 
  • Спасибо
Реакции: DocSpoc
После множества попытка написать с помощью ChatGPT хоть какой-то код более-менее похоже имитирующий человеческие движения мыши (без кликов, просто скроллинг и колебания курсора мыши), множественные варианты кода упираются в одну и ту же аномалию - курсор начинает ползти вверх и прилипать к верхней границе окна.

ChatGPT сообщает,

139782

Получается имитация даже приближенной версии к реальному поведении мыши в текущей версии движка под большим вопросом.

Попытки переделать функционал под JS тоже оказались тупиковыми,

139783

139784
 
После множества попытка написать с помощью ChatGPT хоть какой-то код более-менее похоже имитирующий человеческие движения мыши (без кликов, просто скроллинг и колебания курсора мыши), множественные варианты кода упираются в одну и ту же аномалию - курсор начинает ползти вверх и прилипать к верхней границе окна.

ChatGPT сообщает,

Посмотреть вложение 139782

Получается имитация даже приближенной версии к реальному поведении мыши в текущей версии движка под большим вопросом.

Попытки переделать функционал под JS тоже оказались тупиковыми,

Посмотреть вложение 139783

Посмотреть вложение 139784

Данная задача довольно сложная в реализации.
Если у вас нет знаний в программировании на C# для вас она будет очень сложная. Так как вы используете Chat GPT, а он не знает всех методов ZP, поэтому он будет часто ошибаться и писать того, чего нет.

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

Вложения

  • Спасибо
Реакции: Tony80
Для более адекватной работы ИИ, могу посоветовать вам скармливать ИИ вот такой XML. Там есть описание доступных методов для написания правильного кода.

Да, я понимаю, что с нуля ChatGPT может "изобретать" выводы и тех. следствия, спасибо большое за ценные уточнения, постараюсь использовать представленные методы.
 
  • Спасибо
Реакции: Dmitriy_Zenno
  • Спасибо
Реакции: Tony80
После множества попытка написать с помощью ChatGPT хоть какой-то код более-менее похоже имитирующий человеческие движения мыши (без кликов, просто скроллинг и колебания курсора мыши), множественные варианты кода упираются в одну и ту же аномалию - курсор начинает ползти вверх и прилипать к верхней границе окна.

ChatGPT сообщает,

Посмотреть вложение 139782

Получается имитация даже приближенной версии к реальному поведении мыши в текущей версии движка под большим вопросом.

Попытки переделать функционал под JS тоже оказались тупиковыми,

Посмотреть вложение 139783

Посмотреть вложение 139784
FullEmulation не подходит для такой задачи, так как в этом методе уже частично реализовано дрожания и минимальные отхождения от прямой траектории, так как он состоит не просто из движения от А к Б, а с дополнительными патернами на неленейность, то выполняя такое в цикле он будет очень медленным. Нужно использовать instance.ActiveTab.MouseMove(х, y) он в цикле работает быстро, если даже написать патерны на плавность, будет не отличим от настоящей мышки, но у него есть минус он не запоминает текущие координаты, поэтому для правдоподобности нужно будет создать переменные куда будет записываться последняя точка xy. А для эмуляции скролла использовать instance.ActiveTab.MouseWheel(CurrentPosition[0], CurrentPosition[1], 0, 100); в цикле с задержками и естественными микростопами, если нужно реализовать дрожание или увод во время скролла, то нужно использовать асинхронные методы
 
  • Спасибо
Реакции: Dmitriy_Zenno и Tony80
FullEmulation не подходит для такой задачи, так как в этом методе уже частично реализовано дрожания и минимальные отхождения от прямой траектории, так как он состоит не просто из движения от А к Б, а с дополнительными патернами на неленейность, то выполняя такое в цикле он будет очень медленным. Нужно использовать instance.ActiveTab.MouseMove(х, y) он в цикле работает быстро, если даже написать патерны на плавность, будет не отличим от настоящей мышки, но у него есть минус он не запоминает текущие координаты, поэтому для правдоподобности нужно будет создать переменные куда будет записываться последняя точка xy. А для эмуляции скролла использовать instance.ActiveTab.MouseWheel(CurrentPosition[0], CurrentPosition[1], 0, 100); в цикле с задержками и естественными микростопами, если нужно реализовать дрожание или увод во время скролла, то нужно использовать асинхронные методы

Огромное спасибо за новую и очень ценную для меня информацию :ay: За неё также благодарит и GPT :-)

139808

TO ALL:

Пока я реализовал затейливый скроллинг без елозания мышки по элементам (что всегда мне не нравилось и выглядит из кубика очень неестественно).

Пока алгоритм такой - курсор нелинейно переводится в правую часть (имитация того, что пользователь отводит мышку в сторону) и начинается вариативный скроллинг c паузами, остановками, возвратами, изменением скорости прочтения, без работы с курсором.

Конечно это лучше и интереснее, чем просто базовый:

instance.ActiveTab.FullEmulationMouseWheel(0, 1000);

хотя и до идеала конечно пока далеко.

Готов делиться, кому интересно, потому что сообщество и тех. поддержка у нас замечательные :ay: а значит надо соответствовать :-)

Дальше с GPT я продолжу развиваем логику нового архитектурного решения с учетом очень ценного комментарий от b1zar :bi:
 
  • Спасибо
Реакции: b1zar и Dmitriy_Zenno
Коллеги есть принципиально важный вопрос. В связи с отработками рабочих гипотез я уперся в проблему периодического мигания курсора.
После множества рабочих итераций код CHATGPT пришёл к следующему выводу,

139832

139833

139834

так ли это?
 
Коллеги есть принципиально важный вопрос. В связи с отработками рабочих гипотез я уперся в проблему периодического мигания курсора.
После множества рабочих итераций код CHATGPT пришёл к следующему выводу,

Посмотреть вложение 139832

Посмотреть вложение 139833

Посмотреть вложение 139834

так ли это?
Клик зенно кривой до безумия. Если нужен настоящий клик - открываете инстанс, ищите абсолютные координаты и кликаете через ардуино. Или просто мучаете нейрончики, которые дадут немного рабочий код который подойдет под ваш сайт.
 
Клик зенно кривой до безумия.
Если нужен настоящий клик - открываете инстанс, ищите абсолютные координаты и кликаете через ардуино.

К сожалению, я не указал - меня сейчас интересует только скроллинг и положение курсора во время скроллинга.
События кликов я пока не рассматриваю.

Или просто мучаете нейрончики, которые дадут немного рабочий код который подойдет под ваш сайт.

Мучаю пятый день, по кругу упирался в разного рода аномалии, с тряской и неестественным поведением мыши. Потом в результате переборки множества сценариев AI объявил, что курсор - это фактически не живой курсор, а отрисованный слой, который живёт по своим законам.

Именно поэтому я испрашиваю, потому что если пропадание курсора в браузере ПМ - это лишь артефакт (или заданность движка), то эту проблему можно опустить, ведь при реальной сессии мышки будет на месте и никуда пропадать не будет. Или это не так, и тогда придётся в статическом движении генерировать микродвижения незаметные глазу, чтобы курсор всегда находился в последовательном процессе.
 
только скроллинг и положение курсора во время скроллинга
Масштаб ОС 100%, шрифты 100%. Мб поможет. Если RDP, тогда не отключать (вроде помогало людям).
Мучаю пятый день
Лучше создать новый чат и там переспросить, переформулируя.
курсора в браузере ПМ - это лишь артефакт (или заданность движка)
Мышка в зенке редко когда работает нормально, сотня тем на форуме где это обсуждалось. Либо кликак криво, либо тормозил, либо еще что то....
 
Масштаб ОС 100%, шрифты 100%. Мб поможет. Если RDP, тогда не отключать (вроде помогало людям).

С вопросами траектории и адаптации курсора под весь цикл скроллинга проблем нет, интересует только вопрос связанный со статическим положением курсора.
Если мышь не двигается, то курсор мыши пропадает. Если делать паузы в последовательных действия - курсор мигает, обозначая начало и конец рабочего действия мышкой.

Вопрос - физически при работе целевой работе мышка будет пропадать или его появление - это просто рабочий интервал, когда она просто задействована?

Тема вроде подходящая - про эмуляцию мыши.
 
С вопросами траектории и адаптации курсора под весь цикл скроллинга проблем нет, интересует только вопрос связанный со статическим положением курсора.
Если мышь не двигается, то курсор мыши пропадает. Если делать паузы в последовательных действия - курсор мигает, обозначая начало и конец рабочего действия мышкой.

Вопрос - физически при работе целевой работе мышка будет пропадать или его появление - это просто рабочий интервал, когда она просто задействована?

Тема вроде подходящая - про эмуляцию мыши.
То что отображается не соответствует реальности. На некоторых сайтах ок, на некоторых нет. (в смысле положение курсора там, а клик не там).
Тут все индивидуально.
 
  • Спасибо
Реакции: Tony80

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)