get_shadow_root
get_shadow_root(); - получить интерфейс Shadow Root элемента DOM (доступна с 7.0.55 версии)Продробнее про Shadow Root можно прочитать на https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot
После отработки функция возвращает результат своей работы в скрипт :<?php // Scenario: For current page, find a custom element and get its shadow root // Description: For current page, find a custom element and get its shadow root // Classes used: XHEElement, 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 polygon page if page was not loaded earlier WEB::$browser->navigate("https://mdn.github.io/web-components-examples/life-cycle-callbacks/"); // Example 1: Get tag of Shadow Root element // Click on button to create custom element DOM::$btn->click_by_number(0); // Get custom element by tag name $customElements = DOM::$element->get_all_by_tag("CUSTOM-SQUARE"); // Check that custom elements were found if ($customElements->get_count() > 0) { // Get first custom element $customElement = $customElements->get(0); // Check that custom element was found if ($customElement->inner_number != -1) { // Get shadow root of custom element $shadowRoot = $customElement->get_shadow_root(); // Check that shadow root was found if ($shadowRoot->inner_number != -1) { // Get tag of shadow root echo($shadowRoot->get_tag() . "\n"); } } } // Stop application WINDOW::$app->quit(); ?>
# 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("https://mdn.github.io/web-components-examples/life-cycle-callbacks/"),"\n"); btn.click_by_number(0); # 2 echo("2. Получим тэг Shadow Root элемента : "); obj = element.get_all_by_tag("CUSTOM-SQUARE").get(0); echo(obj.get_shadow_root().get_inner_html()); # конец 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_shadow_root</font><hr>"); // 1 echo("1. Перейдем на полигон : "); echo(browser.navigate("https://mdn.github.io/web-components-examples/life-cycle-callbacks/")+"\n"); btn.click_by_number(0); // 2 echo("2. Получим тэг Shadow Root элемента : "); var obj = element.get_all_by_tag("CUSTOM-SQUARE").get(0); echo(obj.get_shadow_root().get_tag()); // конец echo("\n\n"); app.quit(); } }
// IE + Chrom // подключим функциональные объекты, если еще не подключен xhe_host="127.0.0.1:7010"; echo=require("../../../Templates JS/init.js"); // начало echo("<hr><font color=blue>interface.get_child_by_number</font><hr>"); // 1 echo("1. Перейдем на полигон : "); echo(browser.navigate("https://mdn.github.io/web-components-examples/life-cycle-callbacks/")+"\n"); btn.click_by_number(0); // 2 echo("2. Получим тэг Shadow Root элемента : "); obj = element.get_all_by_tag("CUSTOM-SQUARE").get(0); echo(obj.get_shadow_root().get_tag()); // конец echo("\n"); // Quit app.quit();
=============================================
Interface Объекты DOM System Vision Web Window
=============================================
Если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум.