get_by_inner_text(inner_text, exactly=true, frame=-1)
Данная команда используется для получения DOM интерфейса элемента страницы, находя его по заданному внутреннему тексту или его части.
Функция на вход принимает параметры:
С версии 4.6.41 доступно: можно передавать вложенные фреймы, принцип такой же: передается строка с номерами фреймов, разделенных : (двоеточием). Например при передаче "1:0:5" - будет выбран фрейм с номером 1, в нем подфрейм с номером 0 и в нем подфрейм с номером 5;
- inner_text – внутренний текст по которому мы находим необходимый нам элемент на странице (string). Чтобы узнать внутренний текст элемента, можно воспользоваться либо инспектором элементов, либо контекстным меню, либо посмотреть его в списке элементов;
- exactly – точное соответствие внутреннего текста при поиске элемента (boolean), по умолчанию TRUE - внутренний текст элемента должен полностью совпадать с переданным параметром (inner_text), если этот параметр задан как FALSE, то будет найден первый элемент во внутреннем тексте которого содержится заданная строка (inner_text);
- frame – номер фрейма, в котором мы ищем элемент (string). Нумерация фреймов начинаются с нуля. По умолчанию данный параметр имеет значение -1. Это значит что элемент находится не во фрейме. Номер фрейма в котором находится нужный вам элемент можно узнать из Инспектора задач, Контекстного меню или панели Списка элементов.
С версии 7.0.38 доступно: можно передавать "url => XXX", тогда будет произведен поиск фрейма, который содержит заданный src, или передавать "name => XXX" - тогда будет поиск фрейма, по заданной части имени.
После отработки функция возвращает результат своей работы в робот:
- DOM интерфейс элемента – объект позволяющий быстро выполнять любые операции с найденным элементом, тип возвращаемого значения XHEInterface.
Пример использования (php)
<?php $xhe_host = "127.0.0.1:7094"; // подключим объект для управления RPAbot, если еще не подключен if (!isset($path)) $path="../../../Templates/init.php"; require($path); // начало echo "<hr><font color=blue>anchor->".basename (__FILE__)."</font><hr>"; // 1 echo "1. Перейдем на полигон: "; echo $browser->navigate("http://rbot.biz-apps.ru/poligon/anchor.html")."<br>"; // 2 echo "2. Получить х и y у ссылки c \"Автомобильный сайт\" и кликнем по ней: "; $obj = $anchor->get_by_inner_text("Автомобильный сайт"); echo $obj->get_x()." ".$obj->get_y()." "; echo $obj->click()."<br>"; // конец echo "<hr><br>"; // Quit $app->quit(); ?>