- Регистрация
- 11.10.2016
- Сообщения
- 3
- Благодарностей
- 0
- Баллы
- 1
В zennoposter эмуляция мыши работает некорректно. При проставлении координат, на разных дисплеях в разных местах кликает. Как бороться с этим?
Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с AloneSlamer какие-либо сделки.
а при чём тут разрешение экрана, оно же по координатам окна инстанса кликает везде должно быть одинаково. на разных дисплеях раньше пробовал, вроде всё чётко было, другие баги были, про этот не знаюну так учитывайте разрешение экрана.
// Находим элемент по атрибуту
HtmlElement he = instance.ActiveTab.GetDocumentByAddress("0").FindElementByAttribute("img", "src", "http://site.ru/img.jpg", "regexp", 0);
if (he.IsVoid) return -1;
// Получаем координаты левого верхнего угла
int lp = Convert.ToInt16(he.GetAttribute("leftinbrowser"));
//int lp = Convert.ToInt16(he.GetAttribute("leftintab"));
//int lp = he.DisplacementInTabWindow.X;
int tp = Convert.ToInt16(he.GetAttribute("topinbrowser"));
//int tp = Convert.ToInt16(he.GetAttribute("topintab"));
//int tp = he.DisplacementInTabWindow.Y;
// Получаем габариты - ширину и высоту
int width = Convert.ToInt16(he.GetAttribute("width"));
int height = Convert.ToInt16(he.GetAttribute("height"));
// Берем произвольную точку внутри элемента
Random rnd = new Random();
lp = rnd.Next(lp,lp+width);
tp = rnd.Next(tp,tp+height);
// Наводим мыш от верха окна до полученной точки
instance.ActiveTab.MouseMove(rnd.Next(0,300), 0, lp, tp);
// Кликаем на этой точке
instance.ActiveTab.MouseClick(lp, tp, "Left", "click");
leftinbrowser topinbrowserДрузья, помогите, пожалуйста! Шаблон встал - никак не хочет кликать туда, куда надо!!! Весь форум перерыл, не понимаю, где ошибка
Спасибо за пример - сейчас домой приеду и посмотрю.leftinbrowser topinbrowser
смотрите на размер элемента, и прибавляете в правую колонку необходимое значение. Пример работы ниже.
leftintab topintab параметры не нужны.Спасибо за пример - сейчас домой приеду и посмотрю.
А в моем коде (он чуть выше) не скажете, что не так?
HtmlElement he = instance.ActiveTab.GetDocumentByAddress("0").FindElementByAttribute("img", "src", "http://site.ru/img.jpg", "regexp", 0);
if (he.IsVoid) return -1;
int lp = Convert.ToInt16(he.GetAttribute("leftinbrowser"));
int tp = Convert.ToInt16(he.GetAttribute("topinbrowser"));
int width = Convert.ToInt16(he.GetAttribute("width"));
int height = Convert.ToInt16(he.GetAttribute("height"));
Random rnd = new Random();
lp = rnd.Next(lp,lp+width);
tp = rnd.Next(tp,tp+height);
instance.ActiveTab.MouseMove(rnd.Next(0,300), 0, lp, tp);
instance.ActiveTab.MouseClick(lp, tp, "Left", "click");
leftinbrowser topinbrowser берешь и все нормально.В связи с этим возникает вопрос - как определить текущие координаты курсора мыши?
(смещения)
Хочу, чтобы мышь приехала от верхней грани экрана к нужному элементу и кликнула на него.leftinbrowser topinbrowser берешь и все нормально.
ты скажи вобще че ты хочешь сделать?
Тебе конкретно эмуляция движения нужна или эмуляция клика? Полноценно такое не реализованно в зенке, есть какие то снипеты, я их не тестил.Хочу, чтобы мышь приехала от верхней грани экрана к нужному элементу и кликнула на него.
Затем, приехала от того положения, в котором находилась к другому нужному элементу и кликнула на него.
Т.е. нужно более-менее адекватная эмуляция движения и кликов мышью.
Варианты все пробовал! И leftinbrowser и leftintab и displacement! Не в этом проблема!
Наводится мыш туда, куда нужно. А вот кликает потом уже в другое место, хотя координаты те же.
Вот я и пытаюсь написать такой сниппет.Тебе конкретно эмуляция движения нужна или эмуляция клика? Полноценно такое не реализованно в зенке, есть какие то снипеты, я их не тестил.