get_col_by_number
get_col_by_number($number,$col,$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 column text by table number using XHETable class // Description: Demonstrates how to find a table by its number and retrieve text content from a specific column // 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_col_by_number ===\n\n"; // Example 1: Get text of first column echo "Example 1: Get text of first column\n\n"; // Step: Define arguments for get_col_by_number $tableNumber1 = 0; $colNumber1 = 0; $asHtml1 = false; // Default is false $col_text = DOM::$table->get_col_by_number($tableNumber1, $colNumber1, $asHtml1); echo "Text of first column:\n$col_text\n\n"; // Example 2: Get text of second column echo "Example 2: Get text of second column\n\n"; // Step: Define arguments for get_col_by_number $tableNumber2 = 0; $colNumber2 = 1; $asHtml2 = false; // Default is false $col_text_2nd = DOM::$table->get_col_by_number($tableNumber2, $colNumber2, $asHtml2); echo "Text of second column:\n$col_text_2nd\n\n"; // Example 3: Get column as HTML echo "Example 3: Get column as HTML\n\n"; // Step: Define arguments for get_col_by_number $tableNumber3 = 0; $colNumber3 = 0; $asHtml3 = true; // As HTML $col_html = DOM::$table->get_col_by_number($tableNumber3, $colNumber3, $asHtml3); echo "HTML of first column:\n$col_html\n\n"; // Example 4: Get column from table in frame echo "Example 4: Get column from table in frame\n\n"; // Step: Define arguments for get_col_by_number $tableNumber4 = 0; $colNumber4 = 2; $asHtml4 = false; // Default is false $frame4 = "0"; // Frame 0 $col_frame = DOM::$table->get_col_by_number($tableNumber4, $colNumber4, $asHtml4, $frame4); echo "Text of third column from table in frame $frame4:\n$col_frame\n\n"; // Example 5: Get column from nested frames echo "Example 5: Get column from nested frames\n\n"; // Step: Define arguments for get_col_by_number $tableNumber5 = 0; $colNumber5 = 1; $asHtml5 = false; // Default is false $frame5 = "1:2:3"; // Nested frames $col_nested = DOM::$table->get_col_by_number($tableNumber5, $colNumber5, $asHtml5, $frame5); echo "Text of second column from table in nested frames $frame5:\n$col_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><br>") # 2 echo("2. Получим содержимое 2 столбца для 0 элемента в виде html : <br><br>") echo(table.get_col_by_number(0,2,true),"<br><br>") # 3 echo("3. Получим содержимое 4 столбца для 1 элемента в виде текста : <br><br>") echo(table.get_col_by_number(1,4,false),"<br><br>") # 4 echo("4. Получим содержимое столбца для несуществующего элемента : ") if not table.get_col_by_number(100500,4,false): echo("нет такого элемента<br><br>") # 5 echo("5. Получим содержимое 4 столбца для 1 элемента в виде текста в нулевом фрейме : <br><br>") echo(table.get_col_by_number(1,4,false,0),"<br><br>") # 6 echo("6. Получим содержимое столбца для несуществующего элемента в нулевом фрейме : ") if not table.get_col_by_number(100500,4,false,0): echo("нет такого элемента<br><br>") # 7 echo("7. Получим содержимое столбца для элемента в несуществующем фрейме : ") if not table.get_col_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_col_by_number</font><hr>"); // 1 шаг echo("1. Перейдем на полигон : "); echo(browser.navigate("rpa-bot.ru/wiki/poligon/table.html")+"\n\n"); // 2 шаг echo("2. Получим содержимое 2 столбца для 0 элемента в виде хтмл : \n\n"); echo(table.get_col_by_number(0,2,true)+"\n\n"); // 3 шаг echo("3. Получим содержимое 4 столбца для 1 элемента в виде текста : \n\n"); echo(table.get_col_by_number(1,4,false)+"\n\n"); // 4 шаг echo("4. Получим содержимое столбца для несуществующего элемента : "); if (table.get_col_by_number(100500,4,false)=="false") echo("нет такого элемента<br><br>"); // 5 шаг echo("5. Получим содержимое 4 столбца для 1 элемента в виде текста в нулевом фрейме : \n\n"); echo(table.get_col_by_number(1,4,false,"0")+"\n\n"); // 6 шаг echo("6. Получим содержимое столбца для несуществующего элемента в нулевом фрейме : "); if (table.get_col_by_number(100500,4,false,"0")=="false") echo("нет такого элемента<br><br>"); // 7 шаг echo("7. Получим содержимое столбца для элемента в несуществующем фрейме : "); if (table.get_col_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_col_by_number</font><hr>"); // 1 шаг echo("1. Перейдем на полигон : "); echo(browser.navigate("https://rpa-bot.ru/wiki/poligon/table.html")+"\n"); // 2 шаг echo("2. Получим содержимое 2 столбца для 0 элемента в виде html : \n"); echo(table.get_col_by_number(0,2,true)+"\n"); // 3 шаг echo("3. Получим содержимое 4 столбца для 1 элемента в виде текста : \n"); echo(table.get_col_by_number(1,4,false)+"\n"); // 4 шаг echo("4. Получим содержимое столбца для несуществующего элемента : "); if (!table.get_col_by_number(100500,4,false)) echo("нет такого элемента\n"); // 5 шаг echo("5. Получим содержимое 4 столбца для 1 элемента в виде текста в нулевом фрейме : \n"); echo(table.get_col_by_number(1,4,false,0)+"\n"); // 6 шаг echo("6. Получим содержимое столбца для несуществующего элемента в нулевом фрейме : "); if (!table.get_col_by_number(100500,4,false,0)) echo("нет такого элемента\n"); // 7 шаг echo("7. Получим содержимое столбца для элемента в несуществующем фрейме : "); if (!table.get_col_by_number(1,4,false,5)) echo("нет такого фрейма<br>"); // конец echo("\n"); // Quit app.quit();
=============================================
Table Объекты DOM System Vision Web Window
=============================================
Если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум.