get_all_by_js(js, add_file, frame)
Данная команда позволяет получить интерфейсы элементов, используя JS для поиска. в коде должна быть реализована функция JS_rBot_GetElements, которая производит поиск элементов, используя JS по заданным критериям.
Команда на вход принимает параметры:
- js – код команды Jav * a Script: JS_rBot_GetElements, которая получает нужные элементы
- add_file – файл из которого будет загружен дополнительный код JS
- frame – номер фрейма, в котором мы ищем элемент
После отработки команда возвращает результат своей работы в робот:
- DOM интерфейс элемента - объект позволяющий быстро выполнять любые операции с найденным элементом, тип возвращаемого значения rBotInterface
Примеры использования (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>element.xxxxxxxxx</font><hr>")
# 1
echo("1. Перейдем на полигон : ")
browser.set_wait_params(10,1)
echo(browser.navigate("http://www.bigfozzy.com"),"<br>")
# 2
echo("2. Получить элементы по JS функции (имя функции долно быть JS_XHE_GetElements ) : ")
objs = element.get_all_by_js("function JS_XHE_GetElements(){var elms=document.querySelectorAll('.menu_lnk'); return elms;}")
print(objs.get_attribute("class"))
# конец
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:7033";
InitXHE();
// начало
echo("<hr><font color=blue>element.get_all_by_tag</font><hr>");
// 1
echo("1. Перейдем на полигон : ");
browser.set_wait_params(10,1);
echo(browser.navigate("http://www.bigfozzy.com")+"<br>");
// 2
echo("2. Получить элементы по JS функции (имя функции долно быть JS_XHE_GetElements ) : ");
XHEInterfaces objs=element.get_all_by_js("function JS_XHE_GetElements(){var elms=document.querySelectorAll('.menu_lnk'); return elms;}");
echo(objs.get_attribute("class"));
// конец
echo("<hr><br>");
app.quit();
}
}
Примеры использования (php)
<?php $xhe_host = "127.0.0.1:7094";
// подключим объект для управления эмулятором, если еще не подключен
if (!isset($path))
$path="../../../Templates/init.php";
require($path);
$path="../../../Templates/simple_html_dom.php";
require($path);
// начало
echo "<hr><font color=blue>anchor->".basename (__FILE__)."</font><hr>";
// 1
echo "1. Перейдем на полигон : ";
$browser->set_wait_params(10,1);
echo $browser->navigate("http://bigfozzy.com")."<br>";
// 2
echo "2. Получить элементы по JS функции (имя функции долно быть JS_XHE_GetElements ) : ";
$objs=$element->get_all_by_js("function JS_XHE_GetElements(){var elms=document.querySelectorAll('.menu_lnk'); return elms;}");
print_r($objs->get_attribute("class"));
// конец
echo "<hr><br>";
// Quit
$app->quit();
?>