humanemulator.net — справка.
Продукт, демо и покупка — на
хуманэмулятор.рф
|
Демо
|
Купить
|
API
|
лог изменений
move
move($x,$y,$scroll=true,$time=0,$tremble=5); - данная функция используется для полной эмуляции движения мыши в заданную точку браузераФункция на вход принимает параметры:
После отработки функция возвращает результат своей работы в скрипт :
Пример использования
<?php // Scenario: Demonstrates how to move mouse to different elements with various parameters $xhe_host = "localhost:7010"; // Connect functional objects if not already connected if (!isset($path)){ $path = "../../../Templates/init.php"; require($path); } // info echo "\n<span >mouse->" . basename (__FILE__) . "</span>\n"; // Navigate to test page with buttons $pageUrl = TEST_POLYGON_URL . "button.html"; echo("Navigate to test page with buttons: $pageUrl\n"); $navigateResult = WEB::$browser->navigate($pageUrl); if ($navigateResult) { echo("Successfully navigated to test page\n"); } else { echo("Failed to navigate to test page\n"); } $zoomLevel = 200; echo("Set browser zoom to $zoomLevel%\n"); $zoomResult = WEB::$browser->set_zoom($zoomLevel); if ($zoomResult) { echo("Successfully set browser zoom\n"); } else { echo("Failed to set browser zoom\n"); } // Example 1: Move mouse to button with specific parameters $buttonName = "btn1f"; echo("1. Get coordinates of button with name: $buttonName\n"); $buttonX = DOM::$button->get_x_by_name($buttonName); $buttonY = DOM::$button->get_y_by_name($buttonName); echo("Button coordinates: x = $buttonX, y = $buttonY\n"); $moveX1 = $buttonX + 1; $moveY1 = $buttonY + 1; $isRelative1 = false; $moveTime1 = 2; $jitter1 = 5; echo("Move mouse to button coordinates: x=$moveX1, y=$moveY1, time=$moveTime1 sec, jitter=$jitter1 px\n"); $moveResult1 = SYSTEM::$mouse->move($moveX1, $moveY1, $isRelative1, $moveTime1, $jitter1); if ($moveResult1) { echo("Successfully moved mouse to button\n"); } else { echo("Failed to move mouse to button\n"); } // Example 2: Click at current position echo("2. Click at current mouse position\n"); $clickResult = SYSTEM::$mouse->click(); if ($clickResult) { echo("Successfully clicked at current position\n"); } else { echo("Failed to click at current position\n"); } // Example 3: Navigate to test site $testSiteUrl = TEST_SITE_URL; echo("3. Navigate to test site: $testSiteUrl\n"); $navigateResult2 = WEB::$browser->navigate($testSiteUrl); if ($navigateResult2) { echo("Successfully navigated to test site\n"); } else { echo("Failed to navigate to test site\n"); } // Example 4: Move mouse to two different anchor elements $anchorNumber1 = 110; echo("4. Get coordinates of anchor number $anchorNumber1\n"); $anchorX1 = DOM::$anchor->get_x_by_number($anchorNumber1); $anchorY1 = DOM::$anchor->get_y_by_number($anchorNumber1); echo("Anchor coordinates: x = $anchorX1, y = $anchorY1\n"); $moveX2 = $anchorX1 + 1; $moveY2 = $anchorY1 + 1; $isRelative2 = true; $moveTime2 = 2; $jitter2 = 5; echo("Move mouse to anchor coordinates: x=$moveX2, y=$moveY2, time=$moveTime2 sec, jitter=$jitter2 px\n"); $moveResult2 = SYSTEM::$mouse->move($moveX2, $moveY2, $isRelative2, $moveTime2, $jitter2); if ($moveResult2) { echo("Successfully moved mouse to first anchor\n"); } else { echo("Failed to move mouse to first anchor\n"); } $anchorNumber2 = 100; echo("Get coordinates of anchor number $anchorNumber2\n"); $anchorX2 = DOM::$anchor->get_x_by_number($anchorNumber2); $anchorY2 = DOM::$anchor->get_y_by_number($anchorNumber2); echo("Anchor coordinates: x = $anchorX2, y = $anchorY2\n"); $moveX3 = $anchorX2 + 1; $moveY3 = $anchorY2 + 1; echo("Move mouse to anchor coordinates: x=$moveX3, y=$moveY3, time=$moveTime2 sec, jitter=$jitter2 px\n"); $moveResult3 = SYSTEM::$mouse->move($moveX3, $moveY3, $isRelative2, $moveTime2, $jitter2); if ($moveResult3) { echo("Successfully moved mouse to second anchor\n"); } else { echo("Failed to move mouse to second anchor\n"); } // end echo("\n"); // Quit WINDOW::$app->quit(); ?>
# Additional paths import sys sys.path.insert(0, '../../../Templates PY/') xhe_host = "127.0.0.1:7010" from xweb_human_emulator import * # начало echo("<hr><font color=blue>mouse.xxxxxxxxx</font><hr>") # 1 echo("1. Перейдем на полигон : ") echo(browser.navigate("https://rpa-bot.ru/wiki/poligon/button.html"),"<br>") # 2 echo("2. Переместим мышь на на кнопку за 2 секунды с дрожанием по пути в 5 пикселей : ") x=button.get_x_by_name("btn1f") y=button.get_y_by_name("btn1f") echo(x," ") echo(y," ") echo(mouse.move(x+1,y+1,false,2,5),"<br>") # 3 echo("3. Кликнем в текущей точке : ") echo(mouse.click(),"\n") # 4 echo("4. Перейдем на rpa-bot.ru/wiki/ : ") echo(browser.navigate("http://rpa-bot.ru/wiki/"),"<br>") # 5 echo("5. Переместим мышь на на 2 ссылки за 2 секунды с дрожанием по пути в 5 пикселей : ") x=anchor.get_x_by_number(111) y=anchor.get_y_by_number(111) echo(x," ") echo(y," ") echo(mouse.move(x+2,y+2,true,2,5)," ") sleep(7) x=anchor.get_x_by_number(101) y=anchor.get_y_by_number(101) echo(x," ") echo(y," ") echo(mouse.move(x+2,y+2,true,2,5)) # конец echo("<hr><br>") # Quit app.quit()
#region using using System; using System.Diagnostics; using System.Collections.Generic; using System.Linq; using System.IO; using System.Text; using System.Threading; using XHE; using XHE.XHE_DOM; using XHE.XHE_System; using XHE.XHE_Window; using XHE.XHE_Web; #endregion class Program:XHEScript { static void Main(string[] args) { // init XHE server = "localhost:7010"; InitXHE(); // начало echo("<hr><font color=blue>mouse.move</font><hr>"); // 1 шаг echo("1. Перейдем в гугл : "); echo(browser.navigate("http://www.google.ru")+"<br>"); // 2 шаг echo("2. Переместим мышь на на кнопку 'Мне повезет' за 2 секунды : "); int x=btn.get_x_by_inner_text("Мне повезёт!"); int y=btn.get_y_by_inner_text("Мне повезёт!"); echo(mouse.move(x+1,y+1,false,5,10)+"<br>"); // 3 шаг echo("3. Кликнем в текущей точке : "); echo(mouse.click()); // конец echo("\n\n"); app.quit(); } }
// подключим функциональные объекты, если еще не подключен xhe_host="127.0.0.1:7010"; echo=require("../../../Templates JS/init.js"); // начало echo("<hr><font color=blue>mouse.move</font><hr>"); // 1 шаг echo("1. Перейдем на полигон : "); echo(browser.navigate("https://rpa-bot.ru/wiki/poligon/button.html")+"<br>"); // 2 шаг echo("2. Переместим мышь на на кнопку за 2 секунды с дрожанием по пути в 5 пикселей : "); var x=button.get_x_by_name("btn1f"); var y=button.get_y_by_name("btn1f"); echo(x+" "+y+" "+mouse.move(x+1,y+1,false,2,5)+"<br>"); // 3 шаг echo("3. Кликнем в текущей точке : "); echo(mouse.click()+"\n"); // 4 шаг echo("4. Перейдем на rpa-bot.ru/wiki/ : "); echo(browser.navigate("https://rpa-bot.ru/wiki/")+"<br>"); // 5 шаг echo("5. Переместим мышь на на 2 ссылки за 2 секунды с дрожанием по пути в 5 пикселей : "); x=anchor.get_x_by_number(110); y=anchor.get_y_by_number(110); echo(x+" "+y+" "+mouse.move(++x,++y,true,2,5)+" "); x=anchor.get_x_by_number(100); y=anchor.get_y_by_number(100); echo(x+" "+y+" "+mouse.move(x+1,y+1,true,2,5)); // конец echo("\n"); // Quit app.quit();
=============================================
Mouse Объекты DOM System Vision Web Window
=============================================
если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум
.