humanemulator.net — справка.
Продукт, демо и покупка — на
хуманэмулятор.рф
|
Демо
|
Купить
|
API
|
лог изменений
get_cell_y_by_inner_text
get_cell_y_by_inner_text($inner_text,$exactly,$row,$col,$frame=-1); - получить y-координату левого верхнего угла ячейки у таблицы с заданным внутренним текстомС версии 4.6.41 достпуно: можно передавать вложенные фреймы, принцип такой же самый, передается строка с номерами фреймов, разделенных : например при передаче "1:0:5" - будет выбран фрейм с номером 1 в нем под фрейм с номером 0 и в нем подфрейм с номером 5
С версии 7.0.38 достпуно: можно передавать "url=>XXX", тогда будет произведен поиск фрейма, который содержит заданнй src, или передавать "name=>XXX" - тогда будет поиск фрейма, по заданной части имени.
После отработки функция возвращает результат своей работы в скрипт :
Пример использования
<?php // Scenario: Get cell Y coordinate by table inner text using XHETable class // Description: Demonstrates how to find a table by its inner text content and retrieve the Y coordinate of a specific cell // Classes used: DOM, XHETable, XHEBrowser, XHEApplication // Step: Connection to XHE API $xhe_host = "localhost:7010"; // Step: Path to init.php file if (!isset($path)) { // Path to init.php file for connecting to XHE API $path = "../../../Templates/init.php"; // Step: When connecting init.php file, all functionality of classes for working with XHE API will be available require($path); } // Step: Go to the polygon page if the page was not loaded earlier WEB::$browser->navigate(TEST_POLYGON_URL . "table.html"); echo "=== Example of using get_cell_y_by_inner_text ===\n\n"; // Example 1: Get cell Y coordinate by exact table inner text echo "Example 1: Get cell Y coordinate by exact table inner text\n\n"; // Step: Define arguments for get_cell_y_by_inner_text $innerText1 = 'Table with data'; // Translated from 'Таблица с данными' $exactMatch1 = true; $rowNum1 = 1; $colNum1 = 2; $frame1 = "-1"; $cell_y_by_text = DOM::$table->get_cell_y_by_inner_text( $innerText1, $exactMatch1, $rowNum1, $colNum1, $frame1 ); echo "Y coordinate of cell ($rowNum1, $colNum1) by exact table text '$innerText1': $cell_y_by_text\n\n"; // Example 2: Get cell Y coordinate by partial table inner text echo "Example 2: Get cell Y coordinate by partial table inner text\n\n"; // Step: Define arguments for get_cell_y_by_inner_text $innerText2 = 'data'; // Translated from 'данными' $exactMatch2 = false; // Inexact match $rowNum2 = 0; $colNum2 = 0; $frame2 = "-1"; $cell_y_partial = DOM::$table->get_cell_y_by_inner_text( $innerText2, $exactMatch2, $rowNum2, $colNum2, $frame2 ); echo "Y coordinate of cell ($rowNum2, $colNum2) by partial table text '$innerText2': $cell_y_partial\n\n"; // Example 3: Get cell Y coordinate from table in frame echo "Example 3: Get cell Y coordinate from table in frame\n\n"; // Step: Define arguments for get_cell_y_by_inner_text $innerText3 = 'Data in frame'; // Translated from 'Данные во фрейме' $exactMatch3 = true; $rowNum3 = 1; $colNum3 = 1; $frame3 = '0'; // Frame 0 $cell_y_frame = DOM::$table->get_cell_y_by_inner_text( $innerText3, $exactMatch3, $rowNum3, $colNum3, $frame3 ); echo "Y coordinate of cell ($rowNum3, $colNum3) from table in frame $frame3 with text '$innerText3': $cell_y_frame\n\n"; // Example 4: Get cell Y coordinate from table in nested frames echo "Example 4: Get cell Y coordinate from table in nested frames\n\n"; // Step: Define arguments for get_cell_y_by_inner_text $innerText4 = 'Nested data'; // Translated from 'Вложенные данные' $exactMatch4 = true; $rowNum4 = 0; $colNum4 = 0; $frame4 = '1:2:3'; // Nested frames $cell_y_nested = DOM::$table->get_cell_y_by_inner_text( $innerText4, $exactMatch4, $rowNum4, $colNum4, $frame4 ); echo "Y coordinate of cell ($rowNum4, $colNum4) from table in nested frames $frame4 with text '$innerText4': $cell_y_nested\n\n"; // Step: Stop work 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>table.xxxxxxxxx</font><hr>") # 1 echo("1. Перейдем на полигон : ") echo(browser.navigate("https://rpa-bot.ru/wiki/poligon/table.html"),"<br>") # 2 echo("2. Получим y ячейки (6:2) у элемента с внутренним текстом содержащим Место : ") echo(table.get_cell_y_by_inner_text("Место",false,6,2),"<br>") # 3 echo("3. Получим y ячейки у несуществующего элемента : ") if table.get_cell_y_by_inner_text("Ptych",true,6,2)==-1: echo("нет такого элемента<br>") # 4 echo("4. Получим y ячейки (6:2) у элемента с внутренним текстом содержащим Место в нулевом фрейме : ") echo(table.get_cell_y_by_inner_text("Место ",false,6,2,0),"<br>") # 5 echo("5. Получим y ячейки у несуществующего элемента в нулевом номере : ") if table.get_cell_y_by_inner_text("Ptych",true,6,2,0)==-1: echo("нет такого элемента<br>") # 6 echo("6. Получим y ячейки у элемента в несуществующем фрейме : ") if table.get_cell_y_by_inner_text("Ptych",true,6,2,5)==-1: echo("нет такого фрейма<br>") # конец 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>table.get_cell_y_by_inner_text</font><hr>"); // 1 шаг echo("1. Перейдем на полигон : "); echo(browser.navigate("rpa-bot.ru/wiki/poligon/table.html")+"<br>"); // 2 шаг echo("2. Получим y ячейки (6:2) у элемента с внутренним текстом содержащим Место : "); echo(table.get_cell_y_by_inner_text("Место",false,6,2)+"<br>"); // 3 шаг echo("3. Получим y ячейки у несуществующего элемента : "); if (table.get_cell_y_by_inner_text("Ptych",true,6,2)==-1) echo("нет такого элемента<br>"); // 4 шаг echo("4. Получим y ячейки (6:2) у элемента с внутренним текстом содержащим Место в нулевом фрейме : "); echo(table.get_cell_y_by_inner_text("Место ",false,6,2,"0")+"<br>"); // 5 шаг echo("5. Получим y ячейки у несуществующего элемента в нулевом номере : "); if (table.get_cell_y_by_inner_text("Ptych",true,6,2,"0")==-1) echo("нет такого элемента<br>"); // 6 шаг echo("6. Получим y ячейки у элемента в несуществующем фрейме : "); if (table.get_cell_y_by_inner_text("Ptych",true,6,2,"5")==-1) echo("нет такого фрейма<br>"); // конец echo("\n\n"); app.quit(); } }
// подключим функциональные объекты, если еще не подключен xhe_host="127.0.0.1:7010"; echo=require("../../../Templates JS/init.js"); // начало echo("<hr><font color=blue>table.get_cell_y_by_inner_text</font><hr>"); // 1 шаг echo("1. Перейдем на полигон : "); echo(browser.navigate("https://rpa-bot.ru/wiki/poligon/table.html")+"<br>"); // 2 шаг echo("2. Получим y ячейки (6:2) у элемента с внутренним текстом содержащим Место : "); echo(table.get_cell_y_by_inner_text("Место",false,6,2)+"<br>"); // 3 шаг echo("3. Получим y ячейки у несуществующего элемента : "); if (table.get_cell_y_by_inner_text("Ptych",true,6,2)==-1) echo("нет такого элемента<br>"); // 4 шаг echo("4. Получим y ячейки (6:2) у элемента с внутренним текстом содержащим Место в нулевом фрейме : "); echo(table.get_cell_y_by_inner_text("Место ",false,6,2,0)+"<br>"); // 5 шаг echo("5. Получим y ячейки у несуществующего элемента в нулевом номере : "); if (table.get_cell_y_by_inner_text("Ptych",true,6,2,0)==-1) echo("нет такого элемента<br>"); // 6 шаг echo("6. Получим y ячейки у элемента в несуществующем фрейме : "); if (table.get_cell_y_by_inner_text("Ptych",true,6,2,5)==-1) echo("нет такого фрейма<br>"); // конец echo("\n"); // Quit app.quit();
=============================================
Table Объекты DOM System Vision Web Window
=============================================
Если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум.