Событие OnMouseMove

Romanus

Новичок
Регистрация
26.08.2013
Сообщения
3
Благодарностей
0
Баллы
0
Всем привет.
Сделал шаблон - все круто. Но не хватает человечности :-)
Решил добавить эмуляцию движения мыши.

Но вот незадача - никак не выходит.

Нужна помощь вот в чем:

1) Эмуляция подведения и нажатия на кнопку (все нажимается, но эмуляции мыши не хватает)
2) Эмуляция движения мыши по странице (рандомно в пределах <body></body>)

Если не затруднит, то более детально прошу объяснить. Желательно без кода - а при работе в интерфейсе, т.к. для начала хочу с ним разобраться.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 714
Баллы
113
В рамках интерфейса функций движения мыши не реализовано. Только в коде.
 

Romanus

Новичок
Регистрация
26.08.2013
Сообщения
3
Благодарностей
0
Баллы
0
Покопал английский хэлп по Зенно, нашел вот чего:

Нашел я такой скрипт на C# В хэлпе (эмуляция движения мыши):
Код:
// random
$rnd = new Random();
// x location
$x = 200;
// y location
$y = 200;
// offset X
$offsetX = $rnd->Next(100);
// offset y
$offsetY = $rnd->Next(100);
// move mouse to start location x = 200 and y = 200 on "Window" window
$result = ZennoLab\Emulation\Emulator::MouseMove("Window", $x, $y);
// check result
if ($result != "ok" && ZennoLab\Emulation\Emulator::ErrorDetected) return "Fail";
// mouse move to a new location
$result = ZennoLab\Emulation\Emulator::MouseMove("Window", $x + $offsetX, $y + $offsetY);
// check result
if ($result != "ok" && ZennoLab\Emulation\Emulator::ErrorDetected) return "Fail";
// answer
return String::Format("Mouse was moved from x = {0}; y = {1} to x = {2}; y = {3}", $x, $y, $x + $offsetX, $y + $offsetY);
Насколько я понимаю, это рандомное движение мыши в окне с именем "Window".

Далее зашел в Code Crеator и вставил это все туда:
PHP:
<?php
use System;
use System\Data;
use System\Text;
use System\Linq;
use System\Drawing;
use System\Resources;
use System\ComponentModel;
use System\Collections\Generic;
use ZennoLab\CommandCenter;
use ZennoLab\InterfacesLibrary\ProjectModel;
use ZennoLab\InterfacesLibrary\ProjectModel\Enums;
use ZennoLab\Emulation;

/// <summary>
/// Класс выполнения группы действий
/// </summary>
[Export]
class ActionGroup1
{
	/// <summary>
	/// Метод выполнения группы действий
	/// </summary>
	/// <param name="instance">Объект инстанса выделеный для данного скрипта</param>
	/// <param name="project">Объект проекта выделеный для данного скрипта</param>
	/// <returns>Код выполнения группы действий</returns>
	public static function Execute($instance, $project)
	{
		$instance->ClearCookie();

		$tab = $instance->ActiveTab;
		if (($tab->IsVoid) || ($tab->IsNull)) return -1;
		if ($tab->IsBusy) $tab->WaitDownloading();
		$tab->Navigate("http://sextoys.by/", "");
		if ($tab->IsBusy) $tab->WaitDownloading();

		return 0;
	}
// random
$rnd = new Random();
// x location
$x = 200;
// y location
$y = 200;
// offset X
$offsetX = $rnd->Next(100);
// offset y
$offsetY = $rnd->Next(100);
// move mouse to start location x = 200 and y = 200 on "Window" window
$result = ZennoLab\Emulation\Emulator::MouseMove("Page", $x, $y);
// check result
if ($result != "ok" && ZennoLab\Emulation\Emulator::ErrorDetected) return "Fail";
// mouse move to a new location
$result = ZennoLab\Emulation\Emulator::MouseMove("Page", $x + $offsetX, $y + $offsetY);
// check result
if ($result != "ok" && ZennoLab\Emulation\Emulator::ErrorDetected) return "Fail";
// answer
return String::Format("Mouse was moved from x = {0}; y = {1} to x = {2}; y = {3}", $x, $y, $x + $offsetX, $y + $offsetY);
}
?>

Выдает ошибку:
PHP:
15:54:04	ActionGroup1.php Syntax error: unexpected token ''$rnd''. [Строка 40; Колонка 1]
Где я накосячил :-) ?
 

Hungry Bulldozer

Moderator
Регистрация
12.01.2011
Сообщения
3 441
Благодарностей
834
Баллы
113
Думаю надо указать полный путь до сборки или использовать rand(5, 15);
 

Zmaster

Client
Регистрация
20.02.2013
Сообщения
112
Благодарностей
22
Баллы
18
Апну тему, может кто расскажет тем, кто незнаком с С#, как это поправить и использовать.
 

goodlucker11

Client
Регистрация
12.05.2014
Сообщения
74
Благодарностей
28
Баллы
18
Мне тоже интересен код имитации рандомного движения мышью работающего в версии 5.4.3.0
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 714
Баллы
113
метод есть для движения из точки в точку.
http://help.zennolab.com/en/v5/zennoposter/5.4/webframe.html#ZennoLab.CommandCenter~ZennoLab.CommandCenter.Tab~MouseMove(Int32,Int32,Int32,Int32,Boolean).html
если вам нужно придать этому рандомность и человечность, нужно найти программиста чтобы сделал по вашему ТЗ кусок кода.
В программе такого нет.
 

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