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

get_element_from_point

get_element_from_point($x,$y); - получить элемент в заданной точке на текущей странице

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

  • $x – X - координата точки в которой надо получить элемент
  • $y – Y - координата точки в которой надо получить элемент

    После отработки функция возвращает результат своей работы в скрипт :
  • DOM интерфейс элемента – объект позволяющий быстро выполнять любые операции с найденным элементом, тип возвращаемого значения XHEInterface

    Пример использования
    <?php
    // Scenario: Get element name from specific coordinates on a webpage
    
    $xhe_host = "localhost:7010";
    if (!isset($path)) {
      // 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);
    }
    
    // Start
    echo "\n<font color=blue>webpage->" . basename(__FILE__) . "</font>\n";
    
    // Step 1: Navigate to website
    $url = "https://www.ya.ru";
    echo "1. Navigate to website: ";
    echo WEB::$browser->navigate($url) . "\n";
    
    // Step 2: Get coordinates of input element
    $attributeName = "id";
    $attributeValue = "text";
    echo "2. Get coordinates of input element: ";
    $x = DOM::$input->get_x_by_attribute($attributeName, $attributeValue);
    $y = DOM::$input->get_y_by_attribute($attributeName, $attributeValue);
    
    // Example 1: Get element name from point
    echo "3. Get element name from point: ";
    echo "($x,$y) => " . WEB::$webpage->get_element_from_point($x + 2, $y + 2)->get_name();
    
    // End
    echo "\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>webpage.xxxxxxxxx</font><hr>")
    
    # 1 
    echo("1. Перейдем на сайт : ")
    echo(browser.navigate("http://www.ya.ru"),"<br>")
    
    # 2 
    echo("2. Получим тэг элемента под заданной точкой : ")
    x=input.get_x_by_attribute("id","text")
    y=input.get_y_by_attribute("id","text")
    echo("("+str(x)+","+str(y)+") => ",webpage.get_element_from_point(x+2,y+2).get_tag())
    
    # конец
    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>webpage.get_element_from_point</font><hr>");
    				
    			// 1 шаг
    			echo("1. Перейдем на сайт : ");
    			echo(browser.navigate("http://www.ya.ru")+"<br>");
    			
    			// 2 шаг
    			echo("2. Получим имя элемента под заданной точкой : ");
    			int x=input.get_x_by_name("text");
    			int y=input.get_y_by_name("text");
    			echo(webpage.get_element_from_point(x+2,y+2).get_name());
    
    			// конец
    			echo("\n\n");
    
    			app.quit();            
    	  }
    }
    // -cef
    // подключим функциональные объекты, если еще не подключен
    xhe_host="127.0.0.1:7025";
    echo=require("../../../Templates JS/init.js");
    
    // начало
    echo("<hr><font color=blue>webpage.get_element_from_point</font><hr>");
    
    // 1 шаг
    echo("1. Перейдем на сайт : ");
    echo(browser.navigate("http://www.ya.ru")+"<br>");
    
    // 2 шаг
    echo("2. Получим тэг элемента под заданной точкой : ");
    var x=input.get_x_by_attribute("id","text");
    var y=input.get_y_by_attribute("id","text");
    echo("("+x+","+y+") => "+webpage.get_element_from_point(x++,y++).get_tag());
    
    // конец
    echo("\n");
    
    // Quit
    app.quit();

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