humanemulator.net — справка.
Продукт, демо и покупка — на
хуманэмулятор.рф
|
Демо
|
Купить
|
API
|
лог изменений
send_move
send_move($x,$y,$scroll=true,$time=0,$tremble=5,$buttons=""); - данная функция используется для передачи перемещения мыши в заданную точку браузера, даже если программа скрыта в трее.Функция на вход принимает параметры:
- MK_CONTROL - Ctrl на клавиатуре
- MK_LBUTTON - левая кнопка мыши
- MK_MBUTTON - средняя кнопка мыши
- MK_RBUTTON - парвая кнопка мыши
- MK_SHIFT - Shift на клавиатуре
- MK_XBUTTON1 - кнолпка мыши X1
- MK_XBUTTON2 - кнолпка мыши X2
Пример использования
<?php // Scenario: Demonstrates sending mouse move events to links and testing with JavaScript $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 site $testSiteUrl = TEST_POLYGON_URL . "anchor.html"; echo("Navigate to '$testSiteUrl'\n"); $navigateResult = WEB::$browser->navigate($testSiteUrl); if ($navigateResult) { echo("Successfully navigated to '$testSiteUrl'\n"); } else { echo("Failed to navigate to '$testSiteUrl'\n"); } // Example 1: Move mouse to 'Advert' link echo "1. Move mouse to 'Advert' link: "; $anchorText = "Advert"; $isInsideFrame = false; $anchorX = DOM::$anchor->get_x_by_inner_text($anchorText, $isInsideFrame); $anchorY = DOM::$anchor->get_y_by_inner_text($anchorText, $isInsideFrame); $moveOffsetX = 3; $moveOffsetY = 3; $moveX = $anchorX + $moveOffsetX; $moveY = $anchorY + $moveOffsetY; echo "Anchor coordinates: x=$anchorX, y=$anchorY\n"; $moveResult = SYSTEM::$mouse->send_move($moveX, $moveY); if ($moveResult) { echo "Successfully moved mouse to coordinates: x=$moveX, y=$moveY\n"; } else { echo "Failed to move mouse to coordinates: x=$moveX, y=$moveY\n"; } sleep(1); // Example 2: Move mouse to two different links echo "2. Move mouse to two different links: "; $firstAnchorNumber = 100; $firstAnchorX = DOM::$anchor->get_x_by_number($firstAnchorNumber); $firstAnchorY = DOM::$anchor->get_y_by_number($firstAnchorNumber); $firstMoveOffset = 1; $firstMoveX = $firstAnchorX + $firstMoveOffset; $firstMoveY = $firstAnchorY + $firstMoveOffset; $firstMoveIsRelative = true; $firstMoveTime = 2; echo "First anchor coordinates: x=$firstAnchorX, y=$firstAnchorY\n"; $firstMoveResult = SYSTEM::$mouse->send_move($firstMoveX, $firstMoveY, $firstMoveIsRelative, $firstMoveTime); if ($firstMoveResult) { echo "Successfully moved mouse to first anchor at coordinates: x=$firstMoveX, y=$firstMoveY\n"; } else { echo "Failed to move mouse to first anchor at coordinates: x=$firstMoveX, y=$firstMoveY\n"; } sleep(1); $secondAnchorNumber = 120; $secondAnchorX = DOM::$anchor->get_x_by_number($secondAnchorNumber); $secondAnchorY = DOM::$anchor->get_y_by_number($secondAnchorNumber); $secondMoveOffset = 1; $secondMoveX = $secondAnchorX + $secondMoveOffset; $secondMoveY = $secondAnchorY + $secondMoveOffset; $secondMoveIsRelative = true; $secondMoveTime = 2; echo "Second anchor coordinates: x=$secondAnchorX, y=$secondAnchorY\n"; $secondMoveResult = SYSTEM::$mouse->send_move($secondMoveX, $secondMoveY, $secondMoveIsRelative, $secondMoveTime); if ($secondMoveResult) { echo "Successfully moved mouse to second anchor at coordinates: x=$secondMoveX, y=$secondMoveY\n"; } else { echo "Failed to move mouse to second anchor at coordinates: x=$secondMoveX, y=$secondMoveY\n"; } sleep(1); // Example 3: Test mouse movement with JavaScript echo "3. Test mouse movement with JavaScript: "; $jsCode = " var cursorX; var cursorY; document.onmousemove = function(e){ cursorX = e.pageX; cursorY = e.pageY; } setTimeout(checkCursor, 1000); function checkCursor() { console.log('Cursor at: ' + cursorX + ', ' + cursorY); } "; $jsResult = WEB::$browser->run_java_script($jsCode); if ($jsResult) { echo "Successfully executed JavaScript to track cursor position\n"; } else { echo "Failed to execute JavaScript to track cursor position\n"; } // Move mouse to test coordinates $testX = 100; $testY = 100; $testMoveResult = SYSTEM::$mouse->send_move($testX, $testY); if ($testMoveResult) { echo "Successfully moved mouse to test coordinates: x=$testX, y=$testY\n"; } else { echo "Failed to move mouse to test coordinates: x=$testX, y=$testY\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("http://www.google.ru"),"<br>") browser.set_zoom(200) # 2 echo("2. Переместим мышь на на кнопку 'Мне повезет' : ") x=button.get_x_by_name("btnI") y=button.get_y_by_name("btnI") echo(x," ") echo(y," ") echo(mouse.send_move(x+3,y+3),"<br>") sleep(2) # 3 echo("3. Перейдем на rpa-bot.ru/wiki/: ") echo(browser.navigate("http://rpa-bot.ru/wiki/"),"<br>") # 4 echo("4. Переместим мышь на на две ссылки : ") x=anchor.get_x_by_number(101) y=anchor.get_y_by_number(101) echo(str(x)+" "+str(y)+" "+str(mouse.send_move(x+1,y+1,true,2))," ") x=anchor.get_x_by_number(121) y=anchor.get_y_by_number(121) echo(str(x)+" "+str(y)+" "+str(mouse.send_move(x+1,y+1,true,2)),"<br>") # 5 echo("5. Проверим работу через JS : ") echo(browser.run_java_script("\ var cursorX)\ var cursorY)\ document.onmousemove = function(e){\ cursorX = e.pageX)\ cursorY = e.pageY)\ }\ setTimeout(checkCursor, 1000))\ function checkCursor()\ {alert('Cursor at: ' + cursorX + ', ' + cursorY)) } ")," ") echo(mouse.send_move(100,100)) # конец 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.send_move</font><hr>"); // 1 шаг echo("1. Перейдем в гугл : "); echo(browser.navigate("http://www.google.ru")+"<br>"); // пауза sleep(3); // 2 шаг echo("2. Переместим мышь на на кнопку 'Мне повезет' : "); int x=btn.get_x_by_inner_text("Мне повезёт!"); int y=btn.get_y_by_inner_text("Мне повезёт!"); echo(mouse.send_move(x+1,y+1)+"<br>"); // 3 шаг echo("3. Переместим мышь в 350 350 за 5 секунд : "); echo(mouse.send_move(x+1,y+1,false,5)); // конец echo("\n\n"); app.quit(); } }
// подключим функциональные объекты, если еще не подключен xhe_host="127.0.0.1:7010"; echo=require("../../../Templates JS/init.js"); // начало echo("<hr><font color=blue>mouse.send_move</font><hr>"); // 1 шаг echo("1. Перейдем в гугл : "); echo(browser.navigate("http://www.google.ru")+"<br>"); // 2 шаг echo("2. Переместим мышь на на кнопку 'Мне повезет' : "); x=button.get_x_by_name("btnI"); y=button.get_y_by_name("btnI"); echo(x+" "+y+" "+mouse.send_move(x+3,y+3)+"<br>"); browser.sleep(2); // 3 шаг echo("3. Перейдем на rpa-bot.ru/wiki/: "); echo(browser.navigate("https://rpa-bot.ru/wiki/")+"<br>"); // 4 шаг echo("4. Переместим мышь на на две ссылки : "); x=anchor.get_x_by_number(100); y=anchor.get_y_by_number(100); echo(x+" "+y +" "+mouse.send_move(x+1,y+1,true,4)+" "); x=anchor.get_x_by_number(120); y=anchor.get_y_by_number(120); echo(x +" "+y+" "+mouse.send_move(x+1,y+1,true,4)+"<br>"); // конец echo("\n"); // Quit app.quit();
=============================================
Mouse Объекты DOM System Vision Web Window
=============================================
если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум
.