enable_dom_storage

enable_dom_storage(enable=true, refresh=true)

Данная команда позволяет разрешить или запретить хранение cookies в DOM Storage. DOM Storage находится в реестре и при его включении cookies будут храниться на всех запущенных копиях rBotа в одном месте. Проверить разрешено или запрещено ли DOM хранилище в браузере можно воспользовавшись данной функцией is_enable_dom_storage.

Команда на вход принимает параметры:
  • enable – разрешить (true) или запретить (false)
  • refresh – надо ли обновлять (true) или не надо (false) страницу после этой команды

Dom Storage (или как его еще называют Web Storage) – это механизм, который помогает работать с данными на стороне клиента и приходит на смену механизму cookie, используемому для этих целей ранее. Снимая ограничения определенные механизмом cookie, DOM Storage предлагает не менее простой и эффективный способ хранения данных.

Более детально о принципе работы, можно ознакомиться в данной статье.


После отработки команда возвращает результат своей работы в робот:
  • true – успешно выполнили (type: bool)
  • false – выполнить не удалось (type: bool)



Примеры использования (php)

<?php $xhe_host = "127.0.0.1:7013";
 
// подключим функциональные объекты, если еще не подключен
if (!isset($path))
  $path="../../../Templates/init.php";
require($path);
 
// начало
echo "<hr><font color=blue>browser->".basename (__FILE__)."</font><hr>";
 
// 1 
echo "1. Включим DOM storage : ";
echo $browser->enable_dom_storage(true)." ";
echo $browser->is_enable_dom_storage()."\n";
 
// 2 
echo "2. Посмотрим парамтеры браузера : ";
echo $browser->navigate("https://panopticlick.eff.org/results?&t=111&dnt=111&a=111#fingerprintTable")."\n";
sleep(3);
$anchor->click_by_name("showFingerprintLink2");
sleep(3);
 
// 3 
echo "3. Выключим DOM storage : ";
echo $browser->enable_dom_storage(false)." ";
echo $browser->is_enable_dom_storage()."<br>";
 
// 4 
echo "4. Посмотрим парамтеры браузера : ";
echo $browser->navigate("https://panopticlick.eff.org/results?&t=111&dnt=111&a=111#fingerprintTable")."\n";
sleep(3);
$anchor->click_by_name("showFingerprintLink2");
sleep(3);
 
// конец
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:7036";
			InitXHE();
 
			// начало
			echo("<hr><font color=blue>browser.enable_dom_storage</font><hr>");
 
			// 0 шаг
			echo("0. Разрешим dom storage : ");
			echo(browser.enable_dom_storage(true)+" "+browser.is_enable_dom_storage()+"\n");
 
			// 1 шаг
			echo("1. Переходим в яху : ");
			echo (browser.navigate("http://www.yahoo.com")+"<br>");			
 
			// 2 шаг
			echo("2. Запретим dom storage : ");
			echo(browser.enable_dom_storage(false)+" "+browser.is_enable_dom_storage()+"\n");
 
			// 3 шаг
			echo("3. Переход в яху  : ");
			echo(browser.navigate("http://www.yahoo.com")+"<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>browser.enable_dom_storage</font><hr>");
 
// 1 шаг
echo("1. Включим DOM storage : ");
echo(browser.enable_dom_storage(true)+" ");
echo(browser.is_enable_dom_storage()+"\n");
 
// 2 шаг
echo("2. Перейдем в YouTube : ");
echo(browser.navigate("http://www.youtube.com")+"\n");
 
// 3 шаг
echo("3. Выключим DOM storage : ");
echo(browser.enable_dom_storage(false)+" ");
echo(browser.is_enable_dom_storage()+"<br>");
 
// 4 шаг
echo("4. Перейдем в YouTube : ");
echo(browser.navigate("http://www.youtube.com"));
 
// конец
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>browser.xxxxxxxxx</font><hr>")
 
# 1 
echo("1. Включим DOM storage : ")
echo(browser.enable_dom_storage(true)," ")
echo(browser.is_enable_dom_storage(),"\n")
 
# 2 
echo("2. Посмотрим парамтеры браузера : ")
echo(browser.navigate("https://panopticlick.eff.org/results?&t=111&dnt=111&a=111#fingerprintTable"),"\n")
sleep(3)
anchor.click_by_name("showFingerprintLink2")
sleep(7)
 
# 3 
echo("3. Выключим DOM storage : ")
echo(browser.enable_dom_storage(false)," ")
echo(browser.is_enable_dom_storage(),"<br>")
 
# 4 
echo("4. Посмотрим парамтеры браузера : ")
echo(browser.navigate("https://panopticlick.eff.org/results?&t=111&dnt=111&a=111#fingerprintTable"),"\n")
sleep(3)
anchor.click_by_name("showFingerprintLink2")
sleep(3)
 
# конец
echo("<hr><br>")
 
# Quit
app.quit()