humanemulator.net — справка. Продукт, демо и покупка — на хуманэмулятор.рф | Демо | Купить | API | лог изменений

send_mouse_left_down

send_mouse_left_down($dx=0,$dy=0); - данная функция используется для отправки сообщения нажатия левой кнопки мыши на уровне железа, относительно текущего окна (доступна с версии 4.10.2)

Функция на вход принимает параметры:

  • $dx – X координта для перемещения и нажатия левой кнопки мыши, относительно левого вернего угла окна.
  • $dy – Y координта для перемещения и нажатия левой кнопки мыши, относительно левого вернего угла окна.

    После отработки функция возвращает результат своей работы в скрипт :
  • true – эмуляция была сделана
  • false – эмуляция не была успешной

    Пример использования
    <?php
    $xhe_host = "localhost:7010";
    // Path to the init.php file for connecting to the XHE API
    $path = "../../../Templates/init.php";
    // Including init.php grants access to all classes and functionality for working with the XHE API
    require($path);
    
    // Scenario: Select text in the editor using send_mouse_left_down and send_mouse_left_up
    
    // Step: Get the browser window interface
    $windowText = "localhost";
    $browserWindow = WINDOW::$window->get_by_text($windowText);
    
    // Example 1: Select text in the editor using send_mouse_left_down and send_mouse_left_up
    echo "Example 1: Select text in the editor using send_mouse_left_down and send_mouse_left_up\n";
    
    // Step: Define loop parameters
    $startX = 200;
    $endX = 500;
    $increment = 50;
    
    // Step: Loop through coordinates
    for ($x = $startX; $x < $endX; $x += $increment) {
        $y = $x; // Use the same value for y coordinate
        
        // Step: Send mouse left up at current coordinates
        $leftUpResult = $browserWindow->send_mouse_left_up($x, $y);
        if ($leftUpResult) {
            echo "Mouse left up sent successfully at coordinates (" . $x . ", " . $y . ")\n";
        } else {
            echo "Failed to send mouse left up at coordinates (" . $x . ", " . $y . ")\n";
        }
        
        // Step: Send mouse left down at current coordinates
        $leftDownResult = $browserWindow->send_mouse_left_down($x, $y);
        if ($leftDownResult) {
            echo "Mouse left down sent successfully at coordinates (" . $x . ", " . $y . ")\n";
        } else {
            echo "Failed to send mouse left down at coordinates (" . $x . ", " . $y . ")\n";
        }
        
        sleep(1);
    }
    
    // Step: Send final mouse left up at the last coordinates
    $finalX = $endX;
    $finalY = $finalX;
    $finalLeftUpResult = $browserWindow->send_mouse_left_up($finalX, $finalY);
    if ($finalLeftUpResult) {
        echo "Final mouse left up sent successfully at coordinates (" . $finalX . ", " . $finalY . ")\n";
        echo "Text selection completed successfully\n";
    } else {
        echo "Failed to send final mouse left up at coordinates (" . $finalX . ", " . $finalY . ")\n";
    }
    
    // Quit the application
    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>windowinterface.xxxxxxxxx</font><hr>")
    
    # получим панель навигации
    navigate=window.get_by_text("XWeb").get_child_by_number(0).get_child_by_number(0).get_child_by_number(0).get_child_by_number(2).get_child_by_number(0).get_child_by_number(0).get_child_by_number(0).get_child_by_number(1).get_child_by_number(0)
    
    echo("1. Выделим текст : ")
    navigate.focus()
    echo(navigate.send_mouse_left_down(5,5))
    echo(navigate.send_mouse_move(5,5))
    echo(navigate.send_mouse_move(100,5))
    echo(navigate.send_mouse_left_up(100,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>windowinterface.send_mouse_left_down</font><hr>");
    				
    			// 1 
    			echo("1. Выделим текст в редакторе : ");
    			XHEWindowInterface browser_wnd=window.get_by_text("XWeb");
    			int i=0;
    			for (i=200;i<500;i+=50)
    			{
    				echo(browser_wnd.send_mouse_left_up(i,i));
    				echo(browser_wnd.send_mouse_left_down(i,i)+" ");
    				sleep(1);
    			}
    			echo(browser_wnd.send_mouse_left_up(i,i));
    
    			// конец
    			echo("\n\n");
    
    			app.quit();            
    	  }
    }
    // подключим функциональные объекты, если еще не подключен
    xhe_host="127.0.0.1:705";
    echo=require("../../../Templates JS/init.js");
    
    // начало
    echo("<hr><font color=blue>windowinterface.send_mouse_left_down</font><hr>");
    	
    // 1 
    echo("1. Выделим текст в редакторе : ");
    var browser_wnd=window.get_by_text("Studio");
    for (var i=200;i<500;i+=50)
    {
    	echo(browser_wnd.send_mouse_left_up(i,i));
    	echo(browser_wnd.send_mouse_left_down(i,i)+" ");
    	app.sleep(1);
    }
    echo(browser_wnd.send_mouse_left_up(i,i));
    
    // конец
    echo("\n");
    
    app.quit();

    =============================================
    Window Interface    Объекты    DOM  System  Vision  Web  Window        
    =============================================
    если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум
    .