User Tools

Site Tools


Sidebar

en:objects:interface:tree:get_child_by_attribute

get_child_by_attribute

get_child_by_attribute($attr_name,$attr_value,$exactly=true,$include_subchildren=false); - get the interface of a child DOM element with the specified attribute value (available from version 4.9.34)

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 (boolean), by default true - the attribute value must completely match the passed parameter ($attr_value). if this parameter is set as false, the first element with the specified string in the attribute value will be found ($attr_value).
  • $include_subchildren – also search for all child subelements. (available from version 7.0.23)

    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("http://humanemulator.net/poligon/btn.html")."<br>";
     
    //2
    echo "2.Get the tags of elements in the 0 form by the value of the attribute and its part:";
    $frm0 = $form->get_by_number(0);
    echo $frm0->get_child_by_attribute("id", "inputs")->get_tag()."";
    echo $frm0->get_child_by_attribute("id", "i", false)->get_tag();
     
    //3
    echo " n3.Get the element tag in 0 form by the value of the attribute and its part(including subelements):";
    echo $frm0->get_child_by_attribute("href", "#", false, true)->get_tag();
     
    //3
    echo " n3.Get the element tag in 0 form by attribute value using resular expressions(including subelements):";
    echo $frm0->get_child_by_attribute("href", "/#/i", 2, true)->get_tag();
     
    //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:7010"
    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("http://www.humanemulator.net/poligon/anchor.html"), "<br>")
     
    # 2
    echo("2.Get the tags of elements in the 0 div by the value of the attribute and its part:")
    div0 = div.get_by_number(0)
    echo(div0.get_child_by_attribute("class", "inner").get_tag(), "")
    echo(div0.get_child_by_attribute("class", "i", false) .get_tag())
     
    # 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:7012";
    InitXHE();
     
    //Start
    echo("<hr> <font color = blue> interface.get_child_by_number </font> <hr>");
     
    //to make it faster
    browser.set_wait_params(5,1);
     
    //1 step
    echo("1.Let's go to the polygon:");
    echo(browser.navigate("www.humanemulator.net/poligon/anchor.html") + "<br>");
     
    //step 2
    echo("2.Get the tags of elements in the 0 div by the value of the attribute and its part:");
    XHEInterface div0 = div.get_by_number(0);
    echo(div0.get_child_by_attribute("class", "inner").get_tag() + "");
    echo(div0.get_child_by_attribute("class", "i", 0) .get_tag());
     
    //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:7012";
    echo = require("../../../Templates JS/xweb_human_emulator.js");
     
    //Start
    echo("<hr> <font color = blue> interface.get_child_by_attribute </font> <hr>");
     
    //to make it faster
    browser.set_wait_params(5,1);
     
    //1 step
    echo("1.Let's go to the polygon:");
    echo(browser.navigate("http://www.humanemulator.net/poligon/anchor.html") + "<br>");
     
    //step 2
    echo("2.Get the tags of elements in the 0 div by the value of the attribute and its part:");
    var div0 = div.get_by_number(0);
    echo(div0.get_child_by_attribute("class", "inner").get_tag() + "");
    echo(div0.get_child_by_attribute("class", "i", false) .get_tag());
     
    //end
    echo("<hr> <br>");
     
    //Quit
    app.quit();
  • en/objects/interface/tree/get_child_by_attribute.txt · Last modified: 2026/08/05 22:45 (external edit)