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

get_mouse_pos_to_flash_player

get_mouse_pos_to_flash_player($flash_num,$x="",$y=""); - данная функция используется для получения координат относительно окна flash плейера по координатам браузера.Координаты относительно плейера остаются всегда постоянными, тогда как координаты относительно браузера меняются с изменением размеров браузера. Функция помогает получить координаты для отправки окну flash плейера события клика кнопки мыши или движения курсора мыши по координатам.

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

  • $flash_num – номер флэш элемента на текущей странице. (int)
  • $x – x координата в брузере. Если параметр ="" берётся текущее х курсора в браузере.
  • $y – y координата в брузере. Если параметр ="" берётся текущее х курсора в браузере.

    После отработки функция возвращает результат своей работы в скрипт :
  • x,y – коррдинаты мыши, разделенные запятой (string)
  • false – операция не произведена (boolean)

    Пример использования
    <?php
    // Scenario: Demonstrates how to get mouse position relative to Flash player and interact with it
    
    $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";
    
    // Example 1: Navigate to test page with Flash player
    $pageUrl = TEST_POLYGON_URL . 'anchor.html';
    echo("1. Navigate to test page with Flash player: $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");
    }
    
    $sleepTime1 = 3;
    echo("Pause for $sleepTime1 seconds\n");
    sleep($sleepTime1);
    
    // Example 2: Move mouse to Flash player coordinates
    $moveX = 300;
    $moveY = 160;
    $moveIsRelative = 1;
    $moveJitter = 5;
    echo("2. Move mouse to Flash player coordinates: x=$moveX, y=$moveY\n");
    $moveResult = SYSTEM::$mouse->move($moveX, $moveY, $moveIsRelative, $moveJitter);
    if ($moveResult) {
        echo("Successfully moved mouse to coordinates\n");
    } else {
        echo("Failed to move mouse to coordinates\n");
    }
    
    // Example 3: Send click to Flash player using browser coordinates
    $clickX1 = 300;
    $clickY1 = 160;
    $frameNumber = 0;
    $isPlayerCoords = false;
    echo("3. Send click to Flash player using browser coordinates: x=$clickX1, y=$clickY1\n");
    $clickResult1 = SYSTEM::$mouse->send_click_to_flash_player($clickX1, $clickY1, $frameNumber, $isPlayerCoords);
    if ($clickResult1) {
        echo("Successfully sent click to Flash player\n");
    } else {
        echo("Failed to send click to Flash player\n");
    }
    
    $sleepTime2 = 10;
    echo("Pause for $sleepTime2 seconds\n");
    sleep($sleepTime2);
    
    // Example 4: Get mouse position relative to Flash player
    echo("4. Get mouse position relative to Flash player using browser coordinates: x=$clickX1, y=$clickY1\n");
    $positionResult1 = SYSTEM::$mouse->get_mouse_pos_to_flash_player($frameNumber, $clickX1, $clickY1);
    echo("Mouse position relative to Flash player: $positionResult1\n");
    
    // Example 5: Send click to Flash player using player coordinates
    $clickX2 = 290;
    $clickY2 = 150;
    $isPlayerCoords2 = true;
    echo("5. Send click to Flash player using player coordinates: x=$clickX2, y=$clickY2\n");
    $clickResult2 = SYSTEM::$mouse->send_click_to_flash_player($clickX2, $clickY2, $frameNumber, $isPlayerCoords2);
    if ($clickResult2) {
        echo("Successfully sent click to Flash player using player coordinates\n");
    } else {
        echo("Failed to send click to Flash player using player coordinates\n");
    }
    
    // Example 6: Get current mouse position relative to Flash player
    echo("6. Get current mouse position relative to Flash player (cursor should be in player window)\n");
    $positionResult2 = SYSTEM::$mouse->get_mouse_pos_to_flash_player($frameNumber);
    echo("Current mouse position relative to Flash player: $positionResult2\n\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/embed.html'),"\n")
    sleep(3)
    
    # переместим мышь фо флэш плеер
    mouse.move(300,160,1,5)
    
    # 2 
    echo("2. Послать щелчок во флэш по координатом браузера (запусти видео): ")
    echo(mouse.send_click_to_flash_player(300,160,0,false),"\n")
    sleep(10)
    
    # 3 
    echo("3. Получить координаты относительно flash плейера : ")
    echo(mouse.get_mouse_pos_to_flash_player(0,300,160),"\n")
    
    # 4 
    echo("4. Послать событие клика левой кнопки мыши по координатом плейера : ")
    echo(mouse.send_click_to_flash_player(290,150,0,true),"\n")
    
    # 5 
    echo("5. Получить координаты относительно flash плейера для текущего положения курсора (курсор должен быть в окне плайреа) : ") 
    echo(mouse.get_mouse_pos_to_flash_player(0),"\n\n")
    
    # конец
    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.get_mouse_pos_to_flash_player</font><hr>");
    				
    			browser.enable_video(true);
    			browser.enable_activex(true);
    
    			// переходим на полигон
    			echo(browser.navigate("https://rpa-bot.ru/wiki/poligon/embed.html")+"<br>");
    			
    			// получить координаты относительно flash плейера для текущего положения курсора  (курсор должен быть в окне плайреа)			
    			echo(mouse.get_mouse_pos_to_flash_player(1));
    
    			// конец
    			echo("\n\n");
    
    			app.quit();            
    	  }
    }
    // подключим функциональные объекты, если еще не подключен
    xhe_host="127.0.0.1:7010";
    echo=require("../../../Templates JS/init.js");
    
    // начало
    echo("<hr><font color=blue>mouse.get_mouse_pos_to_flash_player</font><hr>");
    
    // 1 шаг
    echo("1. Переходим на полигон : ");
    echo(browser.navigate('https://rpa-bot.ru/wiki/poligon/embed.html')+"\n");browser.sleep(3);
    
    // переместим мышь фо флэш плеер
    mouse.move(300,160,1,5);
    
    // 2 шаг
    echo("2. Послать щелчок во флэш по координатом браузера (запусти видео): ");
    echo(mouse.send_click_to_flash_player(300,160,0,false)+"\n");
    browser.sleep(10);
    
    // 3 шаг
    echo("3. Получить координаты относительно flash плейера : ");
    echo(mouse.get_mouse_pos_to_flash_player(0,300,160)+"\n");
    
    // 4 шаг
    echo("4. Послать событие клика левой кнопки мыши по координатом плейера : ");
    echo(mouse.send_click_to_flash_player(290,150,0,true)+"\n");
    
    // 5 шаг
    echo("5. Получить координаты относительно flash плейера для текущего положения курсора (курсор должен быть в окне плайреа) : "); 
    echo(mouse.get_mouse_pos_to_flash_player(0)+"\n");
    
    // конец
    echo("\n");
    
    // Quit
    app.quit();

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