humanemulator.net — справка.
Продукт, демо и покупка — на
хуманэмулятор.рф
|
Демо
|
Купить
|
API
|
лог изменений
get_parent_by_attribute
get_parent_by_attribute($atr_name,$atr_value,$exactly=true); - получить интерфейс родительского элемента DOM по значению его аттрибута (доступна с 7.0.38 версии)Функция на вход принимает параметры:
После отработки функция возвращает результат своей работы в скрипт :
Пример использования
<?php // Scenario: For current page, find a DOM element and get its parent element by attribute // Description: For current page, find a DOM element and get its parent element by attribute // Classes used: XHEButton, XHEInterface, XHEBrowser, XHEApplication // Connection string to XHE API $xhe_host = "localhost:7010"; // Path to init.php file if (!isset($path)) { // Path to init.php file for connecting to XHE API $path = "../../../Templates/init.php"; // When connecting init.php file, all functionality of classes for working with XHE API will be available require($path); } // Navigate to the polygon page if page was not loaded earlier WEB::$browser->navigate(TEST_POLYGON_URL . "btn.html"); // Example 1: Get tags of parent element with specified attribute value // Get button element by number 0 $targetButton = DOM::$btn->get_by_number(0); // Check that the DOM element was found if ($targetButton->inner_number != -1) { // Get parent element by attribute $parentElement = $targetButton->get_parent_by_attribute("class", "suggest", false); // Check that the parent element was found if ($parentElement->inner_number != -1) { // Get tag of parent element echo($parentElement->get_tag() . "\n"); } } // Example 2: Get non-existent parent element with specified attribute value // Get button element by number 0 $targetButton = DOM::$btn->get_by_number(0); // Check that the DOM element was found if ($targetButton->inner_number != -1) { // Get non-existent parent element by attribute $parentElement = $targetButton->get_parent_by_attribute("class", "nonexistent", false); // Check that the parent element was not found if ($parentElement->inner_number == -1) { echo("No such element\n"); } } // Stop the application WINDOW::$app->quit(); ?>
# Additional paths import sys sys.path.insert(0, '../../../Templates PY/') xhe_host = "127.0.0.1:701" 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("ya.ru"),"<br>"); # 2 echo("2. Получим тэги родительского элемента с заднным значением атрибута : "); obj_a=btn.get_by_number(0); obj_p=obj_a.get_parent_by_attribute("class","suggest",0); echo(obj_p.get_tag()+"\n"); # 3 echo("3. Получим несуществующй родительский элемент с заднным значением атрибута : "); obj_p=obj_a.get_parent_by_attribute("class","suыыыыggest",0); if obj_p.get_tag()==False: echo("нет такого элемента"); # конец 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>interface.get_parent</font><hr>"); // чтобы быстрее browser.set_wait_params(5,1); // 1 echo("1. Перейдем на полигон : "); echo(browser.navigate("ya.ru")+"<br>"); // 2 echo("2. Получим тэги родительского элемента с заднным значением аттрибута : "); XHEInterface obj_a=btn.get_by_number(0); XHEInterface obj_p=obj_a.get_parent_by_attribute("class","suggest",0); echo(obj_p.get_tag()+"\n"); // 3 echo("3. Получим несуществующй родительский элемент с заднным значением аттрибута : "); obj_p=obj_a.get_parent_by_attribute("class","suыыыыggest",0); if (obj_p.get_tag()=="false") echo("нет такого элемента"); // конец echo("\n\n"); app.quit(); } }
// IE + Chrom // подключим функциональные объекты, если еще не подключен xhe_host="127.0.0.1:701"; echo=require("../../../Templates JS/init.js"); // начало echo("<hr><font color=blue>interface.get_parent</font><hr>"); // чтобы быстрее browser.set_wait_params(5,1); // 1 echo("1. Перейдем на полигон : "); echo(browser.navigate("ya.ru")+"<br>"); // 2 echo("2. Получим тэги родительского элемента с заднным значением атрибута : "); var obj_a=btn.get_by_number(0); var obj_p=obj_a.get_parent_by_attribute("class","suggest",0); echo(obj_p.get_tag()+"\n"); // 3 echo("3. Получим несуществующй родительский элемент с заднным значением атрибута : "); obj_p=obj_a.get_parent_by_attribute("class","suыыыыggest",0); if (obj_p.get_tag()=="") echo("нет такого элемента"); // конец echo("\n"); // Quit app.quit();
=============================================
Interface Объекты DOM System Vision Web Window
=============================================
Если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум.