humanemulator.net — справка.
Продукт, демо и покупка — на
хуманэмулятор.рф
|
Демо
|
Купить
|
API
|
лог изменений
get_row_by_number
get_row_by_number($number,$row,$as_html=false,$frame=-1); - получить текст строки в таблице с заданным номеромС версии 4.6.41 достпуно: можно передавать вложенные фреймы, принцип такой же самый, передается строка с номерами фреймов, разделенных : например при передаче "1:0:5" - будет выбран фрейм с номером 1 в нем под фрейм с номером 0 и в нем подфрейм с номером 5
С версии 7.0.38 достпуно: можно передавать "url=>XXX", тогда будет произведен поиск фрейма, который содержит заданнй src, или передавать "name=>XXX" - тогда будет поиск фрейма, по заданной части имени.
После отработки функция возвращает результат своей работы в скрипт :
Пример использования
<?php // Scenario: Get row text by table number using XHETable class // Description: Demonstrates how to find a table by its number and retrieve text content from a specific row // 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: Navigate to the polygon page if the page was not loaded earlier WEB::$browser->navigate(TEST_POLYGON_URL . "table.html"); echo "=== Example of using get_row_by_number ===\n\n"; // Example 1: Get text of first row (header) echo "Example 1: Get text of first row (header)\n\n"; // Step: Define arguments for get_row_by_number $tableNumber1 = 0; $rowNumber1 = 0; $asHtml1 = false; // Default is false $row_text = DOM::$table->get_row_by_number($tableNumber1, $rowNumber1, $asHtml1); echo "Text of first row:\n$row_text\n\n"; // Example 2: Get text of second row echo "Example 2: Get text of second row\n\n"; // Step: Define arguments for get_row_by_number $tableNumber2 = 0; $rowNumber2 = 1; $asHtml2 = false; // Default is false $row_text_2nd = DOM::$table->get_row_by_number($tableNumber2, $rowNumber2, $asHtml2); echo "Text of second row:\n$row_text_2nd\n\n"; // Example 3: Get row as HTML echo "Example 3: Get row as HTML\n\n"; // Step: Define arguments for get_row_by_number $tableNumber3 = 0; $rowNumber3 = 0; $asHtml3 = true; // As HTML $row_html = DOM::$table->get_row_by_number($tableNumber3, $rowNumber3, $asHtml3); echo "HTML of first row:\n$row_html\n\n"; // Example 4: Get row from table in frame echo "Example 4: Get row from table in frame\n\n"; // Step: Define arguments for get_row_by_number $tableNumber4 = 0; $rowNumber4 = 2; $asHtml4 = false; // Default is false $frame4 = "0"; // Frame 0 $row_frame = DOM::$table->get_row_by_number($tableNumber4, $rowNumber4, $asHtml4, $frame4); echo "Text of third row from table in frame $frame4:\n$row_frame\n\n"; // Example 5: Get row from nested frames echo "Example 5: Get row from nested frames\n\n"; // Step: Define arguments for get_row_by_number $tableNumber5 = 0; $rowNumber5 = 1; $asHtml5 = false; // Default is false $frame5 = "1:2:3"; // Nested frames $row_nested = DOM::$table->get_row_by_number($tableNumber5, $rowNumber5, $asHtml5, $frame5); echo "Text of second row from table in nested frames $frame5:\n$row_nested\n\n"; // Example 6: Read all rows of table echo "Example 6: Read all rows of table\n\n"; // Step: Define table number and get its row count $table_number_ex6 = 0; $row_count = DOM::$table->get_rows_count_by_number($table_number_ex6); echo "Reading all $row_count rows from table $table_number_ex6:\n"; for ($row_index = 0; $row_index < $row_count; $row_index++) { // Step: Define arguments for get_row_by_number inside loop $asHtml_loop = false; $row_text = DOM::$table->get_row_by_number($table_number_ex6, $row_index, $asHtml_loop); echo "\n--- Row $row_index ---\n$row_text\n"; } echo "\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><br>") # 2 echo("2. Получим содержимое 6 строки для 0 элемента в виде html : <br><br>") echo(table.get_row_by_number(0,6,true),"<br><br>") # 3 echo("3. Получим содержимое 4 строки для 1 элемента в виде текста : <br><br>") echo(table.get_row_by_number(1,4,false),"<br><br>") # 4 echo("4. Получим содержимое строки для несуществующего элемента : ") if not table.get_row_by_number(100500,4,false): echo("нет такого элемента<br><br>") # 5 echo("5. Получим содержимое 6 строки для 0 элемента в виде текста в нулевом фрейме : <br><br>") echo(table.get_row_by_number(0,6,true,0),"<br><br>") # 6 echo("6. Получим содержимое строки для несуществующего элемента в нулевом фрейме : ") if not table.get_row_by_number(100500,4,false,0): echo("нет такого элемента<br><br>") # 7 echo("7. Получим содержимое строки для элемента в несуществующем фрейме : ") if not table.get_row_by_number(1,4,false,5): 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_row_by_number</font><hr>"); // 1 шаг echo("1. Перейдем на полигон : "); echo(browser.navigate("rpa-bot.ru/wiki/poligon/table.html")+"\n\n"); // 2 шаг echo("2. Получим содержимое 6 строки для 0 элемента в виде хтмл : \n\n"); echo(table.get_row_by_number(0,6,true)+"\n\n"); // 3 шаг echo("3. Получим содержимое 4 строки для 1 элемента в виде текста : \n\n"); echo(table.get_row_by_number(1,4,false)+"\n\n"); // 4 шаг echo("4. Получим содержимое строки для несуществующего элемента : "); if (table.get_row_by_number(100500,4,false)=="false") echo("нет такого элемента<br><br>"); // 5 шаг echo("5. Получим содержимое 6 строки для 0 элемента в виде текста в нулевом фрейме : \n\n"); echo(table.get_row_by_number(0,6,true,"0")+"\n\n"); // 6 шаг echo("6. Получим содержимое строки для несуществующего элемента в нулевом фрейме : "); if (table.get_row_by_number(100500,4,false,"0")=="false") echo("нет такого элемента<br><br>"); // 7 шаг echo("7. Получим содержимое строки для элемента в несуществующем фрейме : "); if (table.get_row_by_number(1,4,false,"5")=="false") 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_row_by_number</font><hr>"); // 1 шаг echo("1. Перейдем на полигон : "); echo(browser.navigate("https://rpa-bot.ru/wiki/poligon/table.html")+"\n"); // 2 шаг echo("2. Получим содержимое 6 строки для 0 элемента в виде html : \n"); echo(table.get_row_by_number(0,6,true)+"\n"); // 3 шаг echo("3. Получим содержимое 4 строки для 1 элемента в виде текста : \n"); echo(table.get_row_by_number(1,4,false)+"\n"); // 4 шаг echo("4. Получим содержимое строки для несуществующего элемента : "); if (!table.get_row_by_number(100500,4,false)) echo("нет такого элемента\n"); // 5 шаг echo("5. Получим содержимое 6 строки для 0 элемента в виде текста в нулевом фрейме : \n"); echo(table.get_row_by_number(0,6,true,0)+"\n"); // 6 шаг echo("6. Получим содержимое строки для несуществующего элемента в нулевом фрейме : "); if (!table.get_row_by_number(100500,4,false,0)) echo("нет такого элемента\n"); // 7 шаг echo("7. Получим содержимое строки для элемента в несуществующем фрейме : "); if (!table.get_row_by_number(1,4,false,5)) echo("нет такого фрейма<br>"); // конец echo("\n"); // Quit app.quit();
=============================================
Table Объекты DOM System Vision Web Window
=============================================
Если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум.