get_parent_by_attribute

get_parent_by_attribute($atr_name,$atr_value,$exactly=true); - get the interface of the parent DOM element by its attribute value (available from version 7.0.38)

the input Function accepts parameters:

  • $attr_name – attribute name (string).
  • $attr_value – attribute value (string).
  • $exactly – exact match of the attribute value when searching for an element (int), by default 1 - the attribute value must completely match the passed parameter ($attr_value). if this parameter is set as 0, the first element whose attribute value contains the specified string will be found ($attr_value). If the value is 2, the search will be performed using the regular expression set in ($attr_value), using the JS function string.search.

    After testing, the function returns the result of its work to the script :
  • DOM element interface – an object that allows you to quickly perform any operations with the found element, the return value type XHEInterface

    PHP example: interface->".basename(__FILE__)."
    "; //to make it faster $browser->set_wait_params(5,1); //1 echo "1.Let's go to the polygon:"; echo $browser->navigate("ya.ru")."
    "; //2 echo "2.Get the tags of the parent element with the given attribute value:"; $obj_a = $btn->get_by_number(0); $obj_p = $obj_a->get_parent_by_attribute("class", "suggest", false); echo $obj_p->get_tag()." n"; //3 echo "3.Get a nonexistent parent element with the given attribute value:"; $obj_p = $obj_a->get_parent_by_attribute("class", "suyyyyggest", false); if($obj_p->get_tag() == "") echo "no such item"; //end echo "

    "; //Quit $app->quit(); ?>
    Python example: # Additional paths import sys sys.path.insert(0, '../../../Templates PY/') xhe_host = "127.0.0.1:701" from xweb_human_emulator import * # Start echo("
    interface.xxxxxxxxx
    ") # to make it faster browser.set_wait_params(5,1) # 1 echo("1.Let's go to the polygon:"); echo(browser.navigate("ya.ru"), "
    "); # 2 echo("2.Get the tags of the parent element with the given attribute value:"); obj_a = btn.get_by_number(0); obj_p = obj_a.get_parent_by_attribute("class", "suggest", 0); echo(obj_p.get_tag() + " "); # 3 echo("3.Get a non-existent parent element with the same attribute value:"); obj_p = obj_a.get_parent_by_attribute("class", "suyyyyggest", 0); if obj_p.get_tag() == False: echo("no such item"); # end echo("

    ") # Quit app.quit()
    C# example: #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:701"; InitXHE(); //Start echo("
    interface.get_parent
    "); //to make it faster browser.set_wait_params(5,1); //1 echo("1.Let's go to the polygon:"); echo(browser.navigate("ya.ru") + "
    "); //2 echo("2.Get the tags of the parent element with the given attribute value:"); 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.Get a non-existent parent element with the same attribute value:"); obj_p = obj_a.get_parent_by_attribute("class", "suyyyyggest", 0); if(obj_p.get_tag() == "false") echo("no such item"); //end echo("

    "); app.quit(); } }
    Java Script example: //IE + Chrom //connect the object to control the emulator, if not already connected xhe_host = "127.0.0.1:701"; echo = require("../../../Templates JS/xweb_human_emulator.js"); //Start echo("
    interface.get_parent
    "); //to make it faster browser.set_wait_params(5,1); //1 echo("1.Let's go to the polygon:"); echo(browser.navigate("ya.ru") + "
    "); //2 echo("2.Get the tags of the parent element with the given attribute value:"); 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.Get a non-existent parent element with the same attribute value:"); obj_p = obj_a.get_parent_by_attribute("class", "suyyyyggest", 0); if(obj_p.get_tag() == "") echo("no such item"); //end echo("

    "); //Quit app.quit();