User Tools

Site Tools


Sidebar

en:objects:interface:tree:get_parent_by_attribute

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:

    <?php $xhe_host = "127.0.0.1:7014";
     
    //connect the object to control the emulator, if not already connected
    if(!isset($path))
      $path = "../../../Templates/xweb_human_emulator.php";
    require($path);
     
    //Start
    echo "<hr> <font color = blue> interface->".basename(__FILE__)."</font> <hr>";
     
    //to make it faster
    $browser->set_wait_params(5,1);
     
    //1
    echo "1.Let's go to the polygon:";
    echo $browser->navigate("ya.ru")."<br>";
     
    //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 "<hr> <br>";
     
    //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("<hr> <font color = blue> interface.xxxxxxxxx </font> <hr>")
     
    # to make it faster
    browser.set_wait_params(5,1)
     
    # 1
    echo("1.Let's go to the polygon:");
    echo(browser.navigate("ya.ru"), "<br>");
     
    # 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("<hr> <br>")
     
    # 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("<hr> <font color = blue> interface.get_parent </font> <hr>");
     
    //to make it faster
    browser.set_wait_params(5,1);
     
    //1
    echo("1.Let's go to the polygon:");
    echo(browser.navigate("ya.ru") + "<br>");
     
    //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("<hr> <br>");
     
    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("<hr> <font color = blue> interface.get_parent </font> <hr>");
     
    //to make it faster
    browser.set_wait_params(5,1);
     
    //1
    echo("1.Let's go to the polygon:");
    echo(browser.navigate("ya.ru") + "<br>");
     
    //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("<hr> <br>");
     
    //Quit
    app.quit();
  • en/objects/interface/tree/get_parent_by_attribute.txt · Last modified: 2026/08/05 22:45 (external edit)