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

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
После загрузки страницы считывается параметр топ=у=1000 например, но этот элемент не в поле видимости окна браузера, поэтому подскроливаем дауном, после этого получаем новый топ=у=300 например, но когда двигаемся по этой координате, то страница подскроливается вверх, как будто движение не по координатам окна а по координатам боди, ну ладно окей, делаем движение по координатам боди, т.е. делаем движение по первоначальному значению топ=у=1000 и ура в зп всё отрабатывает и показывает движение точно в координатах, но вебвизор показывает движение по нижнему краю окна браузера, а не под тегом, который в это время находится в середине странице... как решить эту проблему?
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
движение задаётся MouseMove(Point[],Int32[],Boolean) Method
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
для определения координат берётся top left
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
если скрол не делать и двигать сразу в поле видимости, то в визоре рисует так же как и в пм, всё чётко, проблема только после скрола
 

White trash

Client
Регистрация
09.06.2014
Сообщения
835
Благодарностей
364
Баллы
63
При эмуляции мыши экран смещается вверх в начало, а не остается там куда его скролили.
Но выход есть

При портретной ориентации монитора движения мыши будут происходить в пределах инстанса (если конечно объект эмуляции мыши не находится слишком низко).
Проще если зеннопостер работает на сервере. Нужно поставить портрентую ориентацию (там же где ставится разрешение), зайти на сервер (тогда там тоже установится портретная ориентация) и выйти. Затем поставить прежнюю альбомную ориентацию.
И ещё нужно расширить окно инстанса до нужных значений. C#
Код:
instance.SetWindowSize(1280,1024);
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
При эмуляции мыши экран смещается вверх в начало, а не остается там куда его скролили.
Но выход есть

При портретной ориентации монитора движения мыши будут происходить в пределах инстанса (если конечно объект эмуляции мыши не находится слишком низко).
Проще если зеннопостер работает на сервере. Нужно поставить портрентую ориентацию (там же где ставится разрешение), зайти на сервер (тогда там тоже установится портретная ориентация) и выйти. Затем поставить прежнюю альбомную ориентацию.
И ещё нужно расширить окно инстанса до нужных значений. C#
Код:
instance.SetWindowSize(1280,1024);
портретная ориентация - это типа чтобы больше элементов по оси у влезло в окно браузера? это решение такое? а если надо полюбому скролить и двигать указатель в указанных пределах в отображаемой браузером области страницы? в пм оно же отрабатывает чётко по координатам, почему же тогда в визоре оно со смещением, а происходит именно смещение вниз по каким-то критериям
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
это видимо какой то баг, заметил, что чем больше скролишь дауном тем больше смещение вниз, с каждого дауна курсор съезжает вниз на 30-40 пискелей, хотя в пм всё чётко по заданным координатам, что делать? угадывать смещение и отнимать от заданных координат? но это не выход, поскольку если много отнимать то в пм оно то движется чётко по координатам и подтягивает страницу до того уровня (т.е. выше) и может опять получится, что отрисовка будет правильная, но не в области видимости экрана браузера
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
если скрол делать ScrollIntoView() то так же происходит смещение отрисовки вниз в визоре, а в пм всё чётко
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 481
Благодарностей
5 918
Баллы
113
По описанию сложно понять, то происходит. Нужен видео пример. что не так. Или хотя бы пример шаблона.
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 481
Благодарностей
5 918
Баллы
113

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
отправил доступ к визеру в личку, там чётко видно как прорисовывается движение - оно ниже заданных координат, по которым реально прорисовывается в пм
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 481
Благодарностей
5 918
Баллы
113

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
пока нет скрола - всё совпадает (пм и вебвизер), как только сделан скрол - в пм всё чётко, а отрисовка в вебвизоре ниже заданных координат на область скрола (как будто дублируется смещение)
 

White trash

Client
Регистрация
09.06.2014
Сообщения
835
Благодарностей
364
Баллы
63

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
Обязательно фикс нужен чтобы эмуляция мыши и после скрола работала и экран не прыгал в начало.
а у Вас какая версия зенно? у меня 5.7.5.3, экран не прыгает вверх, в пм отрисовывает всё как надо, а в вебвизоре ниже на расстояние скрола, тестили шаблон на 5.9.9.1, экран не прыгает вверх, в пм отрисовывает как надо, а визоре вообще ничего нет (не показывает движение курсора)
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
Обязательно фикс нужен чтобы эмуляция мыши и после скрола работала и экран не прыгал в начало.
у вас экра возможно подскроливается, потому что вы берёте значение элемента top, а он показывает расстояние от верха экрана браузера, а не страницы, надо брать topinbrowser , тогда ничего не подскроливается
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
протестировал клик instance.ActiveTab.MouseClick так он тоже со смещением вниз отработал ( координаты для клика беру topinbrowser и leftinbrowser)
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 481
Благодарностей
5 918
Баллы
113
По-моему при отрисовке в PM скрол не срабатывает. В том смысле, что координаты LeftInBrowser, TopInbrowser и Height берутся с изначальной позиции элемента, не учитывая скролл.
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
По-моему при отрисовке в PM скрол не срабатывает. В том смысле, что координаты LeftInBrowser, TopInbrowser и Height берутся с изначальной позиции элемента, не учитывая скролл.
так их и надо брать) в пм же всё чётко по координатам... для движения и клика берутся значения не текущие в окне, а которые изначально на странице в браузере, если вы возьмёте текущие координаты и по ним будете строить движение либо клик, то в пм будет двигаться выше указанных значений, именно по топинбраузер и лефтинбраузер, а высота, она в любом месте высота одинакова
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
По-моему при отрисовке в PM скрол не срабатывает. В том смысле, что координаты LeftInBrowser, TopInbrowser и Height берутся с изначальной позиции элемента, не учитывая скролл.
вот комментарий ростоникса к примеру http://zennolab.com/discussion/threads/ehksperimenty-s-ehmuljaciej-myshi.29493/#post-214765
и вот тема ещё http://zennolab.com/discussion/threads/ehmuljacija-klika-myshi-na-c.26541/
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 481
Благодарностей
5 918
Баллы
113

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
А попробуйте брать leftintab и topintab
в пм начинает проводить выше заданных координат, и если скрол большой то окно подтянется и движение будет в том месте где топинбраузер и лефтинбраузер будет равно координат топинтаб и лефтинтаб
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 481
Благодарностей
5 918
Баллы
113
в пм начинает проводить выше заданных координат, и если скрол большой то окно подтянется и движение будет в том месте где топинбраузер и лефтинбраузер будет равно координат топинтаб и лефтинтаб
Выше заданных координате не может проводить. Там другие значения просто получаются. А если сравнить с вебвизором. смещение есть?
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
Выше заданных координате не может проводить. Там другие значения просто получаются. А если сравнить с вебвизором. смещение есть?
да в пм проводит выше заданных координат, если отскролить на 1000 пикселей и взять топинтаб лефтинтаб, к примеру 10:10 получилось, то отрисовка движения в пм подвинет страницу вверх в 0:0 и будет рисовать линию от 10:10
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
а чтобы рисовало в том же месте страницы надо брать топинбраузер и лефтинбраузер, тогда в пм оно рисует точно по координатам, а в визоре смещается вниз на длину скрола, т.е. задваиваются значения где-то, при кликах тоже самое, оно не кликает по координатам окна, оно кликает по координатам страницы (полотна, боди - как хотите)
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 481
Благодарностей
5 918
Баллы
113
да в пм проводит выше заданных координат, если отскролить на 1000 пикселей и взять топинтаб лефтинтаб, к примеру 10:10 получилось, то отрисовка движения в пм подвинет страницу вверх в 0:0 и будет рисовать линию от 10:10
Я просил сравнить с вебвизором) Ну да ладно. Поговорю с разработчиками, что тут может быть не так.
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113

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