Зажать ЛКМ, и сдвинуть мышь

bookray

Client
Регистрация
14.07.2015
Сообщения
10
Благодарностей
2
Баллы
3
Здравствуйте, уважаемые

Есть задача, нужно сдвигать ползунок на странице. Может кто подсказать сниппет, которым можно зажать лкм и сдвинуть мышку на пикселей 20?
 

Санёк

Client
Регистрация
30.08.2013
Сообщения
325
Благодарностей
111
Баллы
43
drag and drop

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

copper12

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

maxtor1986

Client
Регистрация
25.12.2015
Сообщения
14
Благодарностей
0
Баллы
1
Ребята, кто в c# шарит, подскажите, как это реализовать в коде. Я то увидел код, а как это в зенку всунуть. Могли бы то из спецов написать это в коде как вставить в зенку? Т.е. как-то так:
variable x = координаты x;
variable y = координаты y;
и далее движение с зажатой кнопкой

Буду очень благодарен и с почетом к Вашим знаниям.
 

gevolushn

Известная личность
Регистрация
25.03.2019
Сообщения
518
Благодарностей
269
Баллы
63
Ребята, кто в c# шарит, подскажите, как это реализовать в коде. Я то увидел код, а как это в зенку всунуть. Могли бы то из спецов написать это в коде как вставить в зенку? Т.е. как-то так:
variable x = координаты x;
variable y = координаты y;
и далее движение с зажатой кнопкой

Буду очень благодарен и с почетом к Вашим знаниям.
DragAndDrop
Код:
//находим элемент, с которым будем работать
HtmlElement he = instance.ActiveTab.FindElementById("SIvCob");
//проверяем, существует ли элемент
if (he.IsVoid){
    //если нет, то кубик уйдет по красной ветке с сообщением ниже
    throw new Exception("Нет нужного элемента");
}

//перемнные для координат элемента
int x = Convert.ToInt32(he.GetAttribute("leftInTab"));
int y = Convert.ToInt32(he.GetAttribute("topInTab"));

//переменные ширины и высоты элемента
int width = Convert.ToInt32(he.GetAttribute("clientWidth"));
int height = Convert.ToInt32(he.GetAttribute("clientHeight"));

//зажимаем мышь в начальных координатах x-5:y+5 и перетаскиваем до конца элемента
instance.ActiveTab.FullEmulationMouseDragAndDrop(x - 5, y + 5, x + width + 1, y + 5);
MouseDown, MouseUp
Код:
//находим элемент, с которым будем работать
HtmlElement he = instance.ActiveTab.FindElementById("SIvCob");
//проверяем, существует ли элемент
if (he.IsVoid){
    //если нет, то кубик уйдет по красной ветке с сообщением ниже
    throw new Exception("Нет нужного элемента");
}

//перемнные для координат элемента
int x = Convert.ToInt32(he.GetAttribute("leftInTab"));
int y = Convert.ToInt32(he.GetAttribute("topInTab"));

//переменные ширины и высоты элемента
int width = Convert.ToInt32(he.GetAttribute("clientWidth"));
int height = Convert.ToInt32(he.GetAttribute("clientHeight"));

//двигаем мышку к началу элемента
instance.ActiveTab.FullEmulationMouseMove(x - 1, y + 5);
//делаем случайную пазу перед нажатием от 0,5 секунды до 1й
System.Threading.Thread.Sleep(Global.Classes.rnd.Next(500, 1000));
//зажимаем левую кнопку мыши
instance.ActiveTab.FullEmulationMouseClick("left", "down");
//двигаем мышь к концу элемента
instance.ActiveTab.FullEmulationMouseMove(x + width + 1, y + 5);
//делаем случайную пазу перед нажатием от 0,5 секунды до 1й
System.Threading.Thread.Sleep(Global.Classes.rnd.Next(500, 1000));
//отпускаем ЛКМ
instance.ActiveTab.FullEmulationMouseClick("left", "up");
Получить нужный элемент можно так:
4.png
Потом нужно вытянуть из скопированного в буфер кода вторую строчку:
5.png
И заменить ею похожую в коде выше.
 
Последнее редактирование:

art22

Client
Регистрация
24.06.2016
Сообщения
484
Благодарностей
69
Баллы
28
а как сделать клик по координатам и держать скажем 30 секунд потом отпустить
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 271
Благодарностей
9 054
Баллы
113
  • Спасибо
Реакции: art22 и djaga

art22

Client
Регистрация
24.06.2016
Сообщения
484
Благодарностей
69
Баллы
28

djaga

Administrator
Команда форума
Регистрация
26.04.2020
Сообщения
545
Благодарностей
1 124
Баллы
93
не сработал там ID постоянно меняется и не к чему закрепиться по этому клик по координатам нужен
Клик по координатам с задержкой 5 сек:
// мышь по координатам
instance.ActiveTab.FullEmulationMouseMove(500, 480);
// клик с зажатием 5сек
instance.ActiveTab.FullEmulationMouseClick("left", "down");
Thread.Sleep(5 * 1000);
instance.ActiveTab.FullEmulationMouseClick("left", "up");
Ниже приложил шаблон для примера ↓
 

Вложения

санчил

Client
Регистрация
15.04.2016
Сообщения
334
Благодарностей
60
Баллы
28
DragAndDrop
Код:
//находим элемент, с которым будем работать
HtmlElement he = instance.ActiveTab.FindElementById("SIvCob");
//проверяем, существует ли элемент
if (he.IsVoid){
    //если нет, то кубик уйдет по красной ветке с сообщением ниже
    throw new Exception("Нет нужного элемента");
}

//перемнные для координат элемента
int x = Convert.ToInt32(he.GetAttribute("leftInTab"));
int y = Convert.ToInt32(he.GetAttribute("topInTab"));

//переменные ширины и высоты элемента
int width = Convert.ToInt32(he.GetAttribute("clientWidth"));
int height = Convert.ToInt32(he.GetAttribute("clientHeight"));

//зажимаем мышь в начальных координатах x-5:y+5 и перетаскиваем до конца элемента
instance.ActiveTab.FullEmulationMouseDragAndDrop(x - 5, y + 5, x + width + 1, y + 5);
MouseDown, MouseUp
Код:
//находим элемент, с которым будем работать
HtmlElement he = instance.ActiveTab.FindElementById("SIvCob");
//проверяем, существует ли элемент
if (he.IsVoid){
    //если нет, то кубик уйдет по красной ветке с сообщением ниже
    throw new Exception("Нет нужного элемента");
}

//перемнные для координат элемента
int x = Convert.ToInt32(he.GetAttribute("leftInTab"));
int y = Convert.ToInt32(he.GetAttribute("topInTab"));

//переменные ширины и высоты элемента
int width = Convert.ToInt32(he.GetAttribute("clientWidth"));
int height = Convert.ToInt32(he.GetAttribute("clientHeight"));

//двигаем мышку к началу элемента
instance.ActiveTab.FullEmulationMouseMove(x - 1, y + 5);
//делаем случайную пазу перед нажатием от 0,5 секунды до 1й
System.Threading.Thread.Sleep(Global.Classes.rnd.Next(500, 1000));
//зажимаем левую кнопку мыши
instance.ActiveTab.FullEmulationMouseClick("left", "down");
//двигаем мышь к концу элемента
instance.ActiveTab.FullEmulationMouseMove(x + width + 1, y + 5);
//делаем случайную пазу перед нажатием от 0,5 секунды до 1й
System.Threading.Thread.Sleep(Global.Classes.rnd.Next(500, 1000));
//отпускаем ЛКМ
instance.ActiveTab.FullEmulationMouseClick("left", "up");
Получить нужный элемент можно так:
Посмотреть вложение 38787
Потом нужно вытянуть из скопированного в буфер кода вторую строчку:
Посмотреть вложение 38788
И заменить ею похожую в коде выше.
привет ! а как сделать поиск по XPath ?
 

Moonwalker

Client
Регистрация
16.03.2016
Сообщения
1 599
Благодарностей
1 196
Баллы
113
  • Спасибо
Реакции: санчил и backoff

санчил

Client
Регистрация
15.04.2016
Сообщения
334
Благодарностей
60
Баллы
28

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