DOM / interface
get_child_by_number
get_child_by_number($number,$include_subchildren=false); - получить интерфейс дочернего элемента DOM с заданным индексом (доступна с 4.6.41 версии)Функция на вход принимает параметры:
После отработки функция возвращает результат своей работы в скрипт :
Пример использования (PHP):
===============================================================
<?php $xhe_host = "127.0.0.1:7014"; // подключим объект для управления эмулятором, если еще не подключен if (!isset($path)) $path="../../../Templates/xweb_human_emulator.php"; require($path); // начало echo "<hr><font color=blue>interface->".basename (__FILE__)."</font><hr>"; // чтобы быстрее $browser->set_wait_params(5,1); // 1 echo "1. Перейдем на полигон : "; echo $browser->navigate("http://humanemulator.net/poligon/btn.html")."<br>"; // 2 echo "2. Получим тэги всех элементов в 0 форме : "; $frm0=$form->get_by_number(0); for ($i=0;$i<$frm0->get_child_count();$i++) echo $frm0->get_child_by_number($i)->get_tag()." "; // 3 echo "\n3. Получим тэги всех элементов в 0 форме (включая подэлементы): "; $frm0=$form->get_by_number(0); for ($i=0;$i<$frm0->get_child_count(true);$i++) { echo $frm0->get_child_by_number($i,true)->get_tag()." "; } // конец echo "<hr><br>"; // Quit $app->quit(); ?>
Пример использования (Python):
===============================================================
# 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>interface.xxxxxxxxx</font><hr>") # чтобы быстрее browser.set_wait_params(5,1) # 1 echo("1. Перейдем на полигон : ") echo(browser.navigate("http://www.humanemulator.net/poligon/anchor.html"),"<br>") # 2 echo("2. Получим тэги всех элементов в 0 диве : ") div0 = div.get_by_number(0) for i in range (0, div0.get_child_count()-1): echo(div0.get_child_by_number(i).get_tag()," ") # конец echo("<hr><br>") # Quit app.quit()
Пример использования (C#):
===============================================================
#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="127.0.0.1:7010"; InitXHE(); // начало echo("<hr><font color=blue>interface.get_child_by_number</font><hr>"); // чтобы быстрее browser.set_wait_params(5,1); // 1 шаг echo("1. Перейдем на полигон : "); echo(browser.navigate("www.humanemulator.net/poligon/anchor.html")+"<br>"); // 2 шаг echo("2. Получим тэги всех элементов в 0 диве : "); XHEInterface div0=div.get_by_number(0); for (int i=0;i<div0.get_child_count();i++) echo(div0.get_child_by_number(i).get_tag()+" "); // конец echo("<hr><br>"); app.quit(); } }
Пример использования (JS):
===============================================================
// IE + Chrom // подключим объект для управления эмулятором, если еще не подключен xhe_host="127.0.0.1:7010"; echo=require("../../../Templates JS/xweb_human_emulator.js"); // начало echo("<hr><font color=blue>interface.get_child_by_number</font><hr>"); // чтобы быстрее browser.set_wait_params(5,1); // 1 шаг echo("1. Перейдем на полигон : "); echo(browser.navigate("http://www.humanemulator.net/poligon/anchor.html")+"<br>"); // 2 шаг echo("2. Получим тэги всех элементов в 0 диве : "); div0=div.get_by_number(0); for (i=0;i<div0.get_child_count();i++) echo(div0.get_child_by_number(i).get_tag()+" "); // конец echo("<hr><br>"); // Quit app.quit();
=============================================
Interface Объекты DOM System Vision Web Window
=============================================
Если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум.