FullEmulationMouseWheel и число прокручиваемых пикселей

  • Автор темы Автор темы webbaster
  • Дата начала Дата начала

webbaster

Client
Регистрация
19.07.2013
Сообщения
141
Реакции
15
Баллы
18
Доброго дня.
Предполагается, что код
C#:
Развернуть Свернуть Копировать
instance.ActiveTab.FullEmulationMouseWheel(0,100);
должен прокручивать страницу на 100 пикселей, а фактически прокручивает на 80.
Почему?
 
Доброго дня.
Предполагается, что код
C#:
Развернуть Свернуть Копировать
instance.ActiveTab.FullEmulationMouseWheel(0,100);
должен прокручивать страницу на 100 пикселей, а фактически прокручивает на 80.
Почему?
у всех по разному. была как то тема, мерялись у кого на сколько прокручивает.
да и зачем она эта точность до пикселя ? главное крутит же.
 
Когда крутит колесико человек, то оно прокручивает ровно 100 пикселей. Отклонение может рассматриваться как действия робота.
Много сессий, созданных на FullEmulation в Я.Метрике определяются как действия робота. Вот пытаюсь побороть.
 
Когда крутит колесико человек, то оно прокручивает ровно 100 пикселей. Отклонение может рассматриваться как действия робота.
Много сессий, созданных на FullEmulation в Я.Метрике определяются как действия робота. Вот пытаюсь побороть.
а если человек не пользуется колесиком и скролит через полоску или через зажим 3-й кнопки мышки ? и у него скролл постоянно то 57, то 145 пикселей. этот человек будет постоянно помечатся как робот ?
мне кажется тут борьба с ветрянной мельницей идет :)
 
а если человек не пользуется колесиком и скролит через полоску или через зажим 3-й кнопки мышки ? и у него скролл постоянно то 57, то 145 пикселей. этот человек будет постоянно помечатся как робот ?
мне кажется тут борьба с ветрянной мельницей идет :-)
Тогда у него мышь уходит за пределы окна браузера.
Просто не знаю уже на что грешить. Никак не побороть проблему.
 
уходит за пределы окна браузера
Есть такое, а если через mouse 3, то отслеживается событие нажатия на эту среднюю кнопку мыши.
В принципе, можно как раз-таки нажимать mouse3, а затем скроллить. FullEmulationMouseClick в первом параметре принимает какую кнопку мыши нажимать.
В итоге наверн получается
C#:
Развернуть Свернуть Копировать
instance.ActiveTab.FullEmulationMouseClick("middle", "click"); //Нажали
instance.ActiveTab.FullEmulationMouseWheel(); //Прокрутили
instance.ActiveTab.FullEmulationMouseClick("middle", "click"); //Еще раз нажали
Но какой-то колхоз выходит... Как вариант, попробовать реализовать свою эмуляцию мыши через WinAPI
 
уж если колхозить, то по полной :)
C#:
Развернуть Свернуть Копировать
instance.ActiveTab.FullEmulationMouseMove(100,100);
instance.ActiveTab.FullEmulationMouseClick("middle","down");
Thread.Sleep(500);
instance.ActiveTab.FullEmulationMouseMove(100,150);
Thread.Sleep(5000);  // здесь нужен цикл контроля скрола
instance.ActiveTab.FullEmulationMouseClick("middle", "up");
 
instance.ActiveTab.FullEmulationMouseClick("middle", "up");
Up и Down в мышке корректно разве работают?
В клавиатуре, насколько я помню, очень не очень, если то, что в классе Emulator
Да и я когда через среднюю скролю, то кликаю два раза - в начале и в конце, а не зажимаю
 
Up и Down в мышке корректно разве работают?
В клавиатуре, насколько я помню, очень не очень, если то, что в классе Emulator
Да и я когда через среднюю скролю, то кликаю два раза - в начале и в конце, а не зажимаю
конечно нормально, а как иначе драг&дроп делать ?
 
Тогда у него мышь уходит за пределы окна браузера.
Просто не знаю уже на что грешить. Никак не побороть проблему.
Может просто сделать вычисление конца экрана? и не перекручивать за него
 

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