эмуляция мыши

pol007

Client
Регистрация
20.05.2014
Сообщения
122
Благодарностей
4
Баллы
18
По значению атрибута нахожу определенные объекты на странице, беру их координаты Left и Top,
потом устанавливаю эти координаты в эмуляцию мыши, но бьёт она почему то не туда, в чем может быть дело ?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 564
Благодарностей
9 179
Баллы
113
надо брать координаты LeftInbrowser и TopInBrowser и прибавлять к ним несколько пикселей..
 

pol007

Client
Регистрация
20.05.2014
Сообщения
122
Благодарностей
4
Баллы
18
надо брать координаты LeftInbrowser и TopInBrowser и прибавлять к ним несколько пикселей..
Да я как раз эти координаты и беру, просто заметил такую вещь, что он кликает то правильно, просто сразу же в момент клика почему то бегунок на странице смещается вниз, и страница сайта проматывается дальше, и те координаты куда должна была кликнуть мышка вверху получаются, и курсор кликает в самом верхнем углу, и короче не достает :-)
Я сразу просто не просёк этой фишки
 

pol007

Client
Регистрация
20.05.2014
Сообщения
122
Благодарностей
4
Баллы
18
Конечно я делаю это в отладчике, может такой проблемы и не будет в ЗеноПостере
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 564
Благодарностей
9 179
Баллы
113
Конечно я делаю это в отладчике, может такой проблемы и не будет в ЗеноПостере
странно, никогда такого не бывало, чтобы в момент клика страница съезжала вниз..
попробуйте перед кликом сделать контрольный клик, куда нибудь в ккординаты 5,5 например, где нет ссылок.. или паузу перед кликом внушительную, секунд на -дцать..
может след. клик пройдет нормально?
интересно, что за ресурс так хулиганит?
 

pol007

Client
Регистрация
20.05.2014
Сообщения
122
Благодарностей
4
Баллы
18
странно, никогда такого не бывало, чтобы в момент клика страница съезжала вниз..
попробуйте перед кликом сделать контрольный клик, куда нибудь в ккординаты 5,5 например, где нет ссылок.. или паузу перед кликом внушительную, секунд на -дцать..
может след. клик пройдет нормально?
интересно, что за ресурс так хулиганит?
Нет не получается, Ресурс :-) одноклассники.
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
Берем данные
фокус
берем снова данные
плюсуем пиксели
кликаем
 

pol007

Client
Регистрация
20.05.2014
Сообщения
122
Благодарностей
4
Баллы
18
Берем данные
фокус
берем снова данные
плюсуем пиксели
кликаем
Вроде так и делаю, нахожу данные по номеру совпадения,
Фокусируюсь,
Потом беру данные по координатам, LeftInbrowser и TopInBrowser
Кликаю.....

В общем нашел временный обход данной ситуации, первый раз когда кликает мышка, страничка съезжает, благо кликает в самый верхний пиксел и ничего не нажимает, далее идет следующие совпадение, и второй раз уже совершаем со следующим совпадением те же действия

фокус
берем снова данные
плюсуем пиксели
кликаем


попадает туда куда надо, в общем через один работает
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
а у вас там флеш что ли? напрямую сразу кликать не выходит?
 

pol007

Client
Регистрация
20.05.2014
Сообщения
122
Благодарностей
4
Баллы
18
а у вас там флеш что ли? напрямую сразу кликать не выходит?
Нет не флеш, обычная страничка. на прямую не выходит, нет такого события при записи.. Да и хочется побольше человечности, эмуляции
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
вот это котик)))) ну... попробуйте сразу устанавливать размер окна 1500 на 9000
 

pol007

Client
Регистрация
20.05.2014
Сообщения
122
Благодарностей
4
Баллы
18
Задал вот такой код Instance.SetWindowSize(800,600);

Выдает ошибку, "Для нестатического поля, метода или свойства "ZennoLab.CommandCenter.Instance.SetWindowSize(int, int)" требуется ссылка на объект". [Строка: 1; Cтолбец: 1]
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
instance с маленькой буквы

instance.SetWindowSize(1680,1050);
 

pol007

Client
Регистрация
20.05.2014
Сообщения
122
Благодарностей
4
Баллы
18
Всё сработало, надо было вот так instance.SetWindowSize(800,600);
 

pol007

Client
Регистрация
20.05.2014
Сообщения
122
Благодарностей
4
Баллы
18

pol007

Client
Регистрация
20.05.2014
Сообщения
122
Благодарностей
4
Баллы
18

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 564
Благодарностей
9 179
Баллы
113
как только котикоаватарка появилась, так сразу и решение проблемы пришло.. :dm:
 

Darvel

Client
Регистрация
17.11.2013
Сообщения
103
Благодарностей
4
Баллы
18
Вопрос по теме, недавно делал проект, где куча скрытых клонов кнопки, которые активируются при определенных условиях, а до этого их не видно и если сделать нажатие не на ту кнопку, то эффекта не будет. Получилось море проверок, регулярок и работает только 95%, иногда откуда-то появляется еще 1-2 новых скрытых копий элемента.. Так в общем вопрос такой, можно ли сделать поиск элемента, не важно правильного или нет, т.к. они друг под другом, взять координаты центра данной кнопки и кликнуть мышью?
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
Да -http://joxi.ru/kCKYUxjKTJAcHwxK5D0
 
  • Спасибо
Реакции: Darvel

Darvel

Client
Регистрация
17.11.2013
Сообщения
103
Благодарностей
4
Баллы
18

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
через конструктор действий -> Get %paramname%
 
  • Спасибо
Реакции: Darvel

Darvel

Client
Регистрация
17.11.2013
Сообщения
103
Благодарностей
4
Баллы
18

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
это не тег, это свойства элементов
А если вы про topinbrowser leftinbrowser то их там действительно нет и надо вписывать ручками
http://joxi.ru/-zOYUxjKTJA_H2GmC3k
 
  • Спасибо
Реакции: Gfoblin и Darvel

Paul777

Client
Регистрация
18.07.2015
Сообщения
24
Благодарностей
1
Баллы
3
Здравствуйте. Подскажите пожалуйста, как реализовать данную задачу:
Беру координаты заданного объекта при помощи "leftinbrowser" и "topinbrowser" и записываю их в соответствующие переменные.
Кликнуть необходимо по координатам на 60 пикселей ниже "topinbrowser". Т.е. в идеале по оси Y должны быть координаты topinbrowser+60
Как это можно сделать. Заранее большое спасибо.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 564
Благодарностей
9 179
Баллы
113
Здравствуйте. Подскажите пожалуйста, как реализовать данную задачу:
Беру координаты заданного объекта при помощи "leftinbrowser" и "topinbrowser" и записываю их в соответствующие переменные.
Кликнуть необходимо по координатам на 60 пикселей ниже "topinbrowser". Т.е. в идеале по оси Y должны быть координаты topinbrowser+60
Как это можно сделать. Заранее большое спасибо.
для lleftinbrowser наверное тоже нужен сдвиг, а то клик будет на границе элемента..
можно вычислить нужные координаты для клика (для вписывания в поля X и Y экшена эмуляции мыши) двумя способами:

1. вписать в поля ОТ и ДО подобный макрос {-JS.Execute-|-{-Variable.Variable0-}+N-}, где N равно 60 в случае с topinbrowser
2. предварительно вычислить сдвиги клика с помощью C#-снипетов или JS-снипетов и распихать их по переменным, эти переменные использовать в экшене эмуляции мыши

достоинство первого способа - никаких доп. вычислительных экшенов JS или C#
недостаток - саппорт не советует использовать старые макросы от 3-ей версии ЗП

по второму способу сплошные недостатки - нужны доп. экшены для вычисления координат и доп. переменные
 

Paul777

Client
Регистрация
18.07.2015
Сообщения
24
Благодарностей
1
Баллы
3
Спасибо Вам большое. Очень помогли.
 

yrafon

Новичок
Регистрация
22.07.2016
Сообщения
20
Благодарностей
0
Баллы
1
Ещё вопросик по теме, на засыпку, регаюсь на сайте, где окно регистрации выскакивает как всплывающее окно после клика на кнопку Вход, при клике на кнопку Вход правой кнопкой мыши ничего не происходит, то есть вызвать Конструктор действий на эту кнопку не возможно, единственное возможное эмуляция мыши которая бьёт постоянно мимо, просто по координатам да ещё без фокуса, так как фокус настроить без Конструктора действий не получается, как быть, голову сломал ...
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Там флеш? Если не флеш, попробуйте найти элементы в Дереве элементов. Оттуда правый клик - в конструктор действий
 

yrafon

Новичок
Регистрация
22.07.2016
Сообщения
20
Благодарностей
0
Баллы
1
Благодарю, буду пробовать.
 

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