Помогите справится с яндекс картой (с курсором)

Alex62

Client
Регистрация
16.10.2015
Сообщения
231
Благодарностей
31
Баллы
28
Добрый день, ребята помогите справится с яндекс картой (с курсором).
Вот есть такой сайт est.ua/new_request/ там есть карта, где по середине стоит курсор, его нужно сдвинуть буквально на несколько миллиметров, что бы он из красного стал синим.
Пробовал с помощью drag-n-drop, но у меня что то не получается
 

copper12

Client
Регистрация
26.11.2016
Сообщения
1 111
Благодарностей
260
Баллы
63

Alex62

Client
Регистрация
16.10.2015
Сообщения
231
Благодарностей
31
Баллы
28
А можно попросить по подробнее? Потому как пробую, не получается
 
Последнее редактирование:

copper12

Client
Регистрация
26.11.2016
Сообщения
1 111
Благодарностей
260
Баллы
63

Alex62

Client
Регистрация
16.10.2015
Сообщения
231
Благодарностей
31
Баллы
28
тоже пробовал, такое ощущение что он клацает сначала в одно местро, а потом в другое. Либо мимо карты.
 

copper12

Client
Регистрация
26.11.2016
Сообщения
1 111
Благодарностей
260
Баллы
63
Поясните пожалуйста какой курсор вы имеете ввиду. И пришлите скриншот
 

Alex62

Client
Регистрация
16.10.2015
Сообщения
231
Благодарностей
31
Баллы
28
вот скриншот, при добавлении, когда вводишь адрес. Вот есть красный курсор, его нужно сдвинуть немного и тогда он должен стать синего цвета.
Безымянный.png
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 453
Благодарностей
5 913
Баллы
113
вот скриншот, при добавлении, когда вводишь адрес. Вот есть красный курсор, его нужно сдвинуть немного и тогда он должен стать синего цвета.
Посмотреть вложение 18409
Там нужно сначала найти координаты красного курсора, затем задать конечные. Пример можно вот здесь посмотреть - http://zennolab.com/discussion/threads/how-to-slide.21718/#post-147436
 

Alex62

Client
Регистрация
16.10.2015
Сообщения
231
Благодарностей
31
Баллы
28
я очень не дружу с программированием, только на кубиках учусь. не могли бы помочь?
id у него нет, есть class
Безымянный1.png
 
Последнее редактирование:

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 453
Благодарностей
5 913
Баллы
113
На кубиках тут вряд ли получится сделать.
Нужно находит элемент по аттрибуту class Брать его координаты и двигать курсор мыши от этих координат.
 
  • Спасибо
Реакции: Alex62

arhip1985

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

Alex62

Client
Регистрация
16.10.2015
Сообщения
231
Благодарностей
31
Баллы
28
На кубиках тут вряд ли получится сделать.
Нужно находит элемент по аттрибуту class Брать его координаты и двигать курсор мыши от этих координат.
Я не знаю, то или не то я налепил, но вот что у меня получилось

Код:
public static int Execute(Instance instance, IZennoPosterProjectModel project)
{
   // find element using "regexp" parameter
  he = tab.MainDocument.FindElementByAttribute("ymaps", "class", "ymaps-2-1-47-image ymaps-2-1-47-patched-for-print", "regexp", 0);
  // if the element was found
if (!he.IsVoid)
{
//scroll to the element  
  he.ScrollIntoView();
//sliding the element
  he.RiseEvent("onmousedown", "full");
  instance.ActiveTab.MouseMove(97, 216, 197, 216);
  he.RiseEvent("onmouseup", "full");
}
}
Безымянный2.png
 
Последнее редактирование:

Alex62

Client
Регистрация
16.10.2015
Сообщения
231
Благодарностей
31
Баллы
28
тебе надо взять в конструкторе get - top и get - left положить в переменные, а потом в коде прибавить к ним пару пикселей - это будут начальные координаты, а далее куда нужно, но в код вникнуть придётся без этого никак сейчас
Или вот как вы говорите

Код:
instance.ActiveTab.DragDrop(project.Variables["Variable2"].Value, project.Variables["Variable3"].Value, 200, 200);

Простите, наверное всех достал, но пытаюсь понять, честно :ah:

Безымянный3.png
 

Alex62

Client
Регистрация
16.10.2015
Сообщения
231
Благодарностей
31
Баллы
28
Может кто то помочь разобраться? я совсем не разбираюсь в программировании.
 

budora

Client
Регистрация
13.08.2012
Сообщения
831
Благодарностей
556
Баллы
93
Может кто то помочь разобраться? я совсем не разбираюсь в программировании.
Вот такой костыль.
В OwnCodeUsings добавить using MouseKeyboardLibrary;
В References добавить MouseKeyboardLibrary.dll
Двигаем мышу с текущей позиции на сколько надо пикселей и куда надо по X,Y или по одному из направлений.
 

Вложения

  • 15,5 КБ Просмотры: 226

Alex62

Client
Регистрация
16.10.2015
Сообщения
231
Благодарностей
31
Баллы
28
а как поставить мышь на этот эллемент? допустим координаты я нашел его ... а дальше что нужно сделать?
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 453
Благодарностей
5 913
Баллы
113
а как поставить мышь на этот эллемент? допустим координаты я нашел его ... а дальше что нужно сделать?
Конструктор действий>Rise>Focus - поставит фокус на этот элемент.
А дальше метод MouseMove в коде C#:
Код:
instance.ActiveTab.MouseMove(x1, y1, x2, y2);
где x1,x2 - координаты элемента, x2,y2 - координаты куда двинуть.
 

Alex62

Client
Регистрация
16.10.2015
Сообщения
231
Благодарностей
31
Баллы
28
Все равно не получается, не могу понять причину. Вот выкладываю проект, можете глянуть что там не так сделал?
 

Вложения

copper12

Client
Регистрация
26.11.2016
Сообщения
1 111
Благодарностей
260
Баллы
63
Попробуйте использовать следующий C# код, эмулирующий сначала нажатие левой кнопки мыши, перемещение и затем нажатие правой кнопки.
Для перемещения курсора в определенную точку необходимо задавать начальную и конечные координаты.
 

Вложения

  • Спасибо
Реакции: VladZen и Alex62

Alex62

Client
Регистрация
16.10.2015
Сообщения
231
Благодарностей
31
Баллы
28
Спасибо большое помогло. Только теперь другая проблема, если карта не в пределе видимости экрана, то код не срабатывает. Что можно сделать с этим? что бы переместится по странице в область карты, что бы она попадала на экран? foсus не помогает
 

Alex62

Client
Регистрация
16.10.2015
Сообщения
231
Благодарностей
31
Баллы
28
Все получилось, клацаю по карте кликом.
Попробуйте использовать следующий C# код, эмулирующий сначала нажатие левой кнопки мыши, перемещение и затем нажатие правой кнопки.
Для перемещения курсора в определенную точку необходимо задавать начальную и конечные координаты.
Спасибо вам большое. Спасибо всем большое
 
Последнее редактирование:
  • Спасибо
Реакции: copper12 и arhip1985

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