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

send_mouse_double_click

send_mouse_double_click($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: Make selections in the editor and double click in the Debug Panel
    
    // Step: Get the browser window interface
    $windowText = "[local";
    $browserWindow = WINDOW::$window->get_by_text($windowText);
    
    // Example 1: Make selections in the editor using send_mouse_double_click
    echo "Example 1: Make selections in the editor using send_mouse_double_click\n";
    
    // Step: Define loop parameters
    $startY = 100;
    $endY = 500;
    $increment = 50;
    $clickX = 200;
    
    // Step: Loop through y coordinates
    for ($y = $startY; $y < $endY; $y += $increment) {
        // Step: Send mouse double click at current coordinates
        $doubleClickResult = $browserWindow->send_mouse_double_click($clickX, $y);
        if ($doubleClickResult) {
            echo "Mouse double click sent successfully at coordinates (" . $clickX . ", " . $y . ")\n";
        } else {
            echo "Failed to send mouse double click at coordinates (" . $clickX . ", " . $y . ")\n";
        }
        
        // Step: Move mouse to current coordinates
        $moveResult = $browserWindow->mouse_move($clickX, $y);
        if ($moveResult) {
            echo "Mouse moved successfully to coordinates (" . $clickX . ", " . $y . ")\n";
        } else {
            echo "Failed to move mouse to coordinates (" . $clickX . ", " . $y . ")\n";
        }
        
        sleep(2);
    }
    
    // Example 2: Double click in the Debug Panel
    echo "\n\nExample 2: Double click in the Debug Panel\n";
    
    // Step: Get the main window interface
    $mainWindowText = "[localhost";
    $mainWindow = WINDOW::$window->get_by_text($mainWindowText);
    
    // Step: Define parameters for getting child window by text
    $childText = "Панель Отладки";
    $visibly = true;
    $recursively = true;
    
    // Step: Get the Debug Panel
    $debugPane = $mainWindow->get_child_by_text($childText, $visibly, $recursively);
    
    // Step: Define coordinates for double click
    $clickX = 100;
    $clickY = 100;
    
    // Step: Perform mouse double click operation
    $doubleClickResult = $debugPane->send_mouse_double_click($clickX, $clickY);
    sleep(5);
    if ($doubleClickResult) {
        echo "Double click in Debug Panel executed successfully\n";
    } else {
        echo "Failed to execute double click in Debug Panel\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)
    
    # 1 
    echo("1. Щелкнем в панели навигации (двойной) : ")
    navigate.send_mouse_click(5,5)
    navigate.send_mouse_double_click(5,5)
    
    # 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_double_click</font><hr>");
    				
    			// 1 
    			echo("1. Сделаем выбор в редакторе : ");
    			XHEWindowInterface browser_wnd=window.get_by_text("XWeb");
    			for (int i=200;i<500;i+=50)
    			{
    				echo(browser_wnd.send_mouse_double_click(i/2,i));
    				sleep(1);
    			}
    
    			// конец
    			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_double_click</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_double_click(i/2,i));
    	app.sleep(1);
    }
    
    // конец
    echo("\n");
    
    app.quit();

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