• EN
    RU

anchor/get_all_hrefs

get_all_hrefs(separator, frame)

Данная команда позволяет получить href всех ссылок на странице.

Команда на вход принимает параметры
  • separator – последовательность символов, которыми будут разделены результаты, по умолчанию
  • frame – номер фрейма, в котором мы ищем элемент. Номер фрейма в котором находится нужный вам элемент можно узнать из инспектора задач, контекстного меню и панели списка элементов. Можно передавать вложенные фреймы, принцип такой же самый. Можно передавать "url=>XXX", тогда будет произведен поиск фрейма, который содержит заданный src, или передавать "name=>XXX" - тогда будет поиск фрейма, по заданной части имени.

После отработки команда возвращает результат своей работы в робот
  • href's– строка, содержащая href всех найденных ссылок, разделенная $separator'ом. Если ничего не нашли то возвращает пустую строку



Пример использования get_all_hrefs (PHP):

<?php $xhe_host = "127.0.0.1:7025";
 
// подключим объект для управления эмулятором, если еще не подключен
if (!isset($path))
  $path="../../../Templates/init.php";
require($path);
 
// начало
echo "<hr><font color=blue>anchor->".basename (__FILE__)."</font><hr>";
 
// память
$begmem=$debug->get_cur_mem_size();
$gdi=$debug->get_gui_resources(0);
$user=$debug->get_gui_resources(1);
 
for ($i=0;$i<20000;$i++)
{
	sleep(1);
    // 1 
    echo "1. Перейдем на полигон : ";
    echo $browser->navigate("http://rbot.biz-apps.ru/poligon/anchor.html")."<br><br>";
 
    // 2 
    echo "2. Получим все hrefs (по умолчанию разделено &lt;br&gt;) :<br><br>";
    echo $anchor->get_all_hrefs()."<br><br>";
 
    // 3 
    echo "3. Получим все hrefs (с разделителем &lt;hr&gt;) :<br><br> ";
    echo $anchor->get_all_hrefs("<hr>")."<br><br>";
 
    // 4 
    echo "4. Получим все hrefs в нулевом фрейме :<br><br>";
    echo $anchor->get_all_hrefs("<br>",0)."<br><br>";
 
    // 5 
    echo "5. Получим все hrefs в несуществующем фрейме : ";
    if (!$anchor->get_all_hrefs("<br>",100500))
        echo "нет такого фрейма<br><br>";
 
}
 
// выведем прирост памяти
$endmem=$debug->get_cur_mem_size();
$deltamem=($endmem-$begmem)/1024/1024;
$endmem=$endmem/1024/1024;
echo "Memory used $endmem : ";
if ($deltamem<0)
	echo "<font color=green>delta memory size: ".$deltamem."</font><br>";
else
	echo "<font color=red>delta memory size: ".$deltamem."</font><br>";
echo "GUI: ";
 
$gdi_e=$debug->get_gui_resources(0);
$user_e=$debug->get_gui_resources(1);
$deltagdi=($gdi_e-$gdi);
$deltauser=($user_e-$user);
echo "gdi: $deltagdi user: $deltauser ";
 
// конец
echo "<hr><br>";
 
// Quit
$app->quit();
?>

Пример использования get_all_hrefs (C#):

#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:7019";
			InitXHE();
 
			// начало
			echo("<hr><font color=blue>anchor.get_all_hrefs</font><hr>");
 
			// 1 шаг
			echo("1. Перейдем на полигон : ");;
			echo(browser.navigate("www.rbot.biz-apps.ru/poligon/anchor.html")+"<br><br>");
 
			// 2 шаг
			echo("2. Получим все hrefs (по умолчанию разделено &lt;br&gt;) :<br><br>");
			echo(anchor.get_all_hrefs()+"<br><br>");
 
			// 3 шаг
			echo("3. Получим все hrefs (с разделителем &lt;hr&gt;) :<br><br> ");
			echo(anchor.get_all_hrefs("<hr>")+"<br><br>");
 
			// 4 шаг
			echo("4. Получим все hrefs в нулевом фрейме :<br><br>");
			echo(anchor.get_all_hrefs("<br>","0")+"<br><br>");
 
			// 5 шаг
			echo("5. Получим все hrefs в несуществующем фрейме : ");
			if (anchor.get_all_hrefs("<br>","100500")=="false")
				echo("нет такого фрейма<br>");
 
			// конец
			echo("<hr><br>");
 
			app.quit();            
	  }
}

Пример использования get_all_hrefs (Python):

# Additional paths
import sys
sys.path.insert(0, '../../../Templates PY/')
 
xhe_host="127.0.0.1:7016"
from xweb_human_emulator import *
 
# начало
echo("<hr><font color=blue>anchor.get_all_href</font><hr>")
 
# память
begmem = int(debug.get_cur_mem_size())
gdi = int(debug.get_gui_resources(0))
user = int(debug.get_gui_resources(1))
 
for i in range(1,10):
    # 1 
    echo("1. Перейдем на полигон : ")
    if i % 2 == 0:
        echo(browser.navigate("http://rbot.biz-apps.ru/poligon/anchor.html"))
    else:
        echo(browser.navigate("http://www.ya.ru"))
    # 2
    echo("\n\n2. Получим все hrefs (по умолчанию разделено &lt;br&gt;) :<br><br>")
    echo(anchor.get_all_hrefs()+"<br><br>")
    # 3 
    echo("3. Получим все hrefs (с разделителем &lt;hr&gt;) :<br><br> ")
    echo(anchor.get_all_hrefs("<hr>")+"<br><br>")
    # 4
    echo("4. Получим все hrefs в нулевом фрейме :<br><br>")
    echo(anchor.get_all_hrefs("<br>","0"))
    # 5 
    echo("<br><br>5. Получим все hrefs в несуществующем фрейме : ")
    if anchor.get_all_hrefs("<br>",100500) == False:
        echo("нет такого фрейма<br>")    
    time.sleep(1)
 
# выведем прирост памяти
endmem=int(debug.get_cur_mem_size())
deltamem=(endmem-begmem)/1024/1024
endmem=endmem/1024/1024
print("Memory used $endmem : ")
if deltamem < 0 :
	print("<font color=green>delta memory size: "+str(deltamem)+"</font><br>")
else:
	print("<font color=red>delta memory size: "+str(deltamem)+"</font><br>")
 
print("GUI: ")
gdi_e=int(debug.get_gui_resources(0))
user_e=int(debug.get_gui_resources(1))
deltagdi=(gdi_e-gdi)
deltauser=(user_e-user)
print("gdi: "+str(deltagdi)+" user: "+str(deltauser))
# конец
print("<hr><br>")
 
# Quit
app.quit()

Пример использования get_all_hrefs (JS):

// подключим объект для управления эмулятором, если еще не подключен
xhe_host="127.0.0.1:7019";
echo=require("../../../Templates JS/init.js");
 
// начало
echo("<hr><font color=blue>anchor.get_all_hrefs</font><hr>");
 
// память
begmem=debug.get_cur_mem_size();
gdi=debug.get_gui_resources(0);
user=debug.get_gui_resources(1);
 
for (i=0;i<10;i++)
{
	// 1 шаг
	echo("1. Перейдем на полигон : ");
	echo(browser.navigate("http://www.rbot.biz-apps.ru/poligon/anchor.html")+"<br><br>");
 
	// 2 шаг
	echo("2. Получим все hrefs (по умолчанию разделено &lt;br&gt;) :<br><br>");
	echo(anchor.get_all_hrefs()+"<br><br>");
 
	// 3 шаг
	echo("3. Получим все hrefs (с разделителем &lt;hr&gt;) :<br><br> ");
	echo(anchor.get_all_hrefs("<hr>")+"<br><br>");
 
	// 4 шаг
	echo("4. Получим все hrefs в нулевом фрейме :<br><br>");
	echo(anchor.get_all_hrefs("<br>",0)+"<br><br>");
 
	// 5 шаг
	echo("5. Получим все hrefs в несуществующем фрейме : ");
	if (!anchor.get_all_hrefs("<br>",100500))
		echo("нет такого фрейма<br>");
}
 
// выведем прирост памяти
var endmem=debug.get_cur_mem_size();
var deltamem=(endmem-begmem)/1024/1024;
var endmem=endmem/1024/1024;
echo("Memory used endmem : ");
if (deltamem<0)
	echo("<font color=green>delta memory size: "+deltamem+"</font><br>");
else
	echo("<font color=red>delta memory size: "+deltamem+"</font><br>");
echo("GUI: ");
 
var gdi_e=debug.get_gui_resources(0);
var user_e=debug.get_gui_resources(1);
var deltagdi=(gdi_e-gdi);
var deltauser=(user_e-user);
echo("gdi: "+deltagdi+" user: "+deltauser);
 
// конец
echo("<hr><br>");
 
// Quit
app.quit();