- Регистрация
- 08.07.2015
- Сообщения
- 2 848
- Благодарностей
- 712
- Баллы
- 113
пусть будет тут! я кое что знаю по этой, но многого не знаю да еще и забываю постоянно ) а постоянно переспрашивать уже надоело, искать по форуму разные куски тоже! Лучше добавлю этот топик в избранное!
эмуляция мыши в одной точке
что означают delay, false - пока я сам не знаю )))
как в код выше добавить следующую точку тоже пока неизвестно мне )))
можно так если не нужно передавать координаты в переменных
можно задать точки таким образом
можно задавать сразу несколько строк такого вида
кодик для примера от @Dimionix
эмуляция мыши в одной точке
C#:
int x = int.Parse(project.Variables["peremen"].Value); //передаем координаты по Х в переменной
int y = int.Parse(project.Variables["peremen1"].Value); //передаем координаты по У в переменной
int ms = int.Parse(project.Variables["peremen2"].Value); // таймаут от точки до точки
// create points
Point[] points = new Point[1]
{
new Point(x, y)
};
// create delay
int[] delay = new int[1] { ms };
// perform the mouve move events
instance.ActiveTab.MouseMove(points, delay, false);
как в код выше добавить следующую точку тоже пока неизвестно мне )))
можно так если не нужно передавать координаты в переменных
C#:
int x = 100;
int y = 100;
int ms = 100;
// create points
Point[] points = new Point[1]
{
new Point(x, y)
};
// create delay
int[] delay = new int[1] { ms };
// perform the mouve move events
instance.ActiveTab.MouseMove(points, delay, false);
C#:
instance.ActiveTab.MouseMove (2, 250, 300, 20);
//instance.ActiveTab.MouseMove (х1, у1, х2, у2);
C#:
//задавая в каждой строке новые координаты
instance.ActiveTab.MouseMove (х1, у1, х2, у2);
instance.ActiveTab.MouseMove (х1, у1, х2, у2);
instance.ActiveTab.MouseMove (х1, у1, х2, у2);
// можно так организовать, чтобы задать движение по точкам
instance.ActiveTab.MouseMove (х1, у1, х2, у2);
instance.ActiveTab.MouseMove (х2, у2, х3, у3);
instance.ActiveTab.MouseMove (х3, у3, х4, у4);
instance.ActiveTab.MouseMove (х4, у4, х5, у5);
instance.ActiveTab.MouseMove (х5, у5, х6, у6);
C#:
// если стоит true то будет клик по объекту в конечной точке
instance.ActiveTab.MouseMove(2, 250, 551, 268, true);
за что ему спасибо!Когда-то для букса wad.ojooo.com делал разгадывание каптчи. Там нужно было зажимать лкм и "рисовать" фигуры.
Вот, например, код, который ищет нужный элемент на странице, берет его координаты, зажимает лкм, рисует букву "V" с некоторым рандомом и затем отпускает лкм.
C#:
Tab tab = instance.ActiveTab;
HtmlElement he = tab.FindElementById("text"); // в активной вкладке ищем нужный элемент по id
int leftintab = int.Parse(he.GetAttribute("leftintab")); // получаем значение leftintab элемента
int topintab = int.Parse(he.GetAttribute("topintab")); // получаем значение topintab элемента
Random rnd = new Random();
int X = leftintab + rnd.Next(-2, 3);
int Y = topintab + rnd.Next(-2, 3);
tab.MouseClick(X + 66, Y + 18, "left", "down"); // зажимаем лкм в нужной точке
Point[] points = new Point[13]
{
new Point(X + 66, Y + 18),
new Point(X + 74, Y + 32),
new Point(X + 80, Y + 42),
new Point(X + 88, Y + 54),
new Point(X + 96, Y + 68),
new Point(X + 100, Y + 76),
new Point(X + 106, Y + 92),
new Point(X + 110, Y + 76),
new Point(X + 114, Y + 68),
new Point(X + 124, Y + 54),
new Point(X + 130, Y + 42),
new Point(X + 136, Y + 36),
new Point(X + 144, Y + 24)
};
int[] delay = new int[13]
{
rnd.Next(10, 21), rnd.Next(10, 21), rnd.Next(10, 21),
rnd.Next(10, 21), rnd.Next(10, 21), rnd.Next(10, 21),
rnd.Next(10, 21), rnd.Next(10, 21), rnd.Next(10, 21),
rnd.Next(10, 21), rnd.Next(10, 21), rnd.Next(10, 21),
rnd.Next(10, 21)
};
tab.MouseMove(points, delay);
tab.MouseClick(X + 144, Y + 24, "left", "up"); // отпускаем лкм в конечной точке
Последнее редактирование: