get_body_by_number(number, as_html, frame)
Данная команда позволяет получить тело фрейма по его номеру.
Команда на вход принимает параметры:
-
number - номер по которому мы
находим необходимый нам элемент на странице
-
as_html - формат результата - как
html
-
frame - номер фрейма, в котором мы ищем элемент. Номер фрейма в котором находится нужный вам элемент можно узнать из инспектора задач, контекстного меню и панели списка элементов. Можно передавать вложенные фреймы, принцип такой же самый. Можно передавать "url=>XXX", тогда будет произведен поиск фрейма, который содержит заданный src, или передавать "name=>XXX" - тогда будет поиск фрейма, по заданной части имени
После отработки команда возвращает результат своей работы в робот:
-
body фрейма - тело фрейма
в html (со всеми тэгами) или текстовом формате (без тэгов, только видимый
текст)
-
false - найти такой фрейм
не удалось (например нет вообще фреймов, удовлетворяющих заданным критериям
или нет такого фрейма), тип возвращаемого значения boolean
Примеры использования (php)
<?php $xhe_host = "127.0.0.1:7094";
// подключим объект для управления эмулятором, если еще не подключен
if (!isset($path))
$path="../../../Templates/init.php";
require($path);
// начало
echo "<hr><font color=blue>frame->".basename (__FILE__)."</font><hr>";
// 1
echo "1. Перейдем на полигон : ";
echo $browser->navigate("http://rbot.biz-apps.ru/poligon/anchor.html")."<br><br>";
// 2
echo "2. Получить тело у 0 фрэйма как html : ";
echo $frame->get_body_by_number(0,true)."<br><br>";
// 3
echo "3. Получить тело у 0 фрэйма как текст : ";
echo $frame->get_body_by_number(0,false)."<br><br>";
// 4
echo "4. Получить тело несуществующего фрейма : ";
if (!$frame->get_body_by_number(100500,false))
echo "нет такого элемента<br><br>";
// 5
echo "5. Получить тело у 0 фрэйма как текст в нулевом фрейме : ";
echo $frame->get_body_by_number(0,true,0)."<br><br>";
// 6
echo "6. Получить тело несуществующего фрейма в нулевом фрейме: ";
if (!$frame->get_body_by_number(100500,false,0))
echo "нет такого элемента<br><br>";
// 7
echo "7. Получить тело фрейма в несуществующеем фрейме: ";
if (!$frame->get_body_by_number(0,false,100500))
echo "нет такого фрейма<br><br>";
// конец
echo "<hr><br>";
// Quit
$app->quit();
?>
Примеры использования (cs)
#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:7010";
InitXHE();
// начало
echo("<hr><font color=blue>frame.get_body_by_number</font><hr>");
// 1 шаг
echo("1. Перейдем на полигон : ");
echo(browser.navigate("www.rbot.biz-apps.ru/poligon/frame.html")+"<br><br>");
// 2 шаг
echo("2. Получить тело у 0 фрэйма как html : ");
echo(frame.get_body_by_number(0,true)+"<br><br>");
// 3 шаг
echo("3. Получить тело у 0 фрэйма как текст : ");
echo(frame.get_body_by_number(0,false)+"<br><br>");
// 4 шаг
echo("4. Получить тело несуществующего фрейма : ");
if (frame.get_body_by_number(100500,false)=="false")
echo("нет такого элемента<br><br>");
// 5 шаг
echo("5. Получить тело у 0 фрэйма как текст в нулевом фрейме : ");
echo(frame.get_body_by_number(0,false,"0")+"<br><br>");
// 6 шаг
echo("6. Получить тело несуществующего фрейма в нулевом фрейме: ");
if (frame.get_body_by_number(100500,false,"0")=="false")
echo("нет такого элемента<br><br>");
// 7 шаг
echo("7. Получить тело фрейма в несуществующеем фрейме: ");
if (frame.get_body_by_number(0,false,"100500")=="false")
echo("нет такого фрейма<br><br>");
// конец
echo("<hr><br>");
app.quit();
}
}
Примеры использования (js)
// подключим объект для управления эмулятором, если еще не подключен
xhe_host="127.0.0.1:7010";
echo=require("../../../Templates JS/init.js");
// начало
echo("<hr><font color=blue>frame.get_body_by_number</font><hr>");
// 1 шаг
echo("1. Перейдем на полигон : ");
echo(browser.navigate("http://www.rbot.biz-apps.ru/poligon/frame.html")+"<br><br>");
// 2 шаг
echo("2. Получить длину тела у 0 фрэйма как html : ");
echo(frame.get_body_by_number(0,true).length+"<br><br>");
// 3 шаг
echo("3. Получить длину тела у 0 фрэйма как текст : ");
echo(frame.get_body_by_number(0,false).length+"<br><br>");
// 4 шаг
echo("4. Получить тело несуществующего фрейма : ");
if (!frame.get_body_by_number(100500,false))
echo("нет такого элемента<br><br>");
// 5 шаг
echo("5. Получить длину тела у 0 фрэйма как текст в нулевом фрейме : ");
echo(frame.get_body_by_number(0,false,0).length+"<br><br>");
// 6 шаг
echo("6. Получить тело несуществующего фрейма в нулевом фрейме: ");
if (!frame.get_body_by_number(100500,false,0))
echo("нет такого элемента<br><br>");
// 7 шаг
echo("7. Получить тело фрейма в несуществующеем фрейме: ");
if (!frame.get_body_by_number(0,false,100500))
echo("нет такого фрейма<br><br>");
// конец
echo("<hr><br>");
// Quit
app.quit();
Примеры использования (py)
# 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>frame.xxxxxxxxx</font><hr>")
# 1
echo("1. Перейдем на полигон : ")
echo(browser.navigate("http://www.rbot.biz-apps.ru/poligon/frame.html"),"<br><br>")
# 2
echo("2. Получить тело у 0 фрэйма как html : ")
echo(frame.get_body_by_number(0,true),"<br><br>")
# 3
echo("3. Получить тело у 0 фрэйма как текст : ")
echo(frame.get_body_by_number(0,false),"<br><br>")
# 4
echo("4. Получить тело несуществующего фрейма : ")
if not frame.get_body_by_number(100500,false):
echo("нет такого элемента<br><br>")
# 5
echo("5. Получить тело у 0 фрэйма как текст в нулевом фрейме : ")
echo(frame.get_body_by_number(0,false,0),"<br><br>")
# 6
echo("6. Получить тело несуществующего фрейма в нулевом фрейме: ")
if not frame.get_body_by_number(100500,false,0):
echo("нет такого элемента<br><br>")
# 7
echo("7. Получить тело фрейма в несуществующеем фрейме: ")
if not frame.get_body_by_number(0,false,100500):
echo("нет такого фрейма<br><br>")
# конец
echo("<hr><br>")
# Quit
app.quit()