set_permissions

set_permissions(state="")

Данная команда позволяет для указания всех JS разрешений navigator.permissions (в том числе и для геолокации). Подробно можно посмотреть на https://developer.mozilla.org/en-US/docs/Web/API/Permissions_API

Команда на вход принимает параметры:
  • state – состояние - может быть 'granted', 'denied', or 'prompt', что соответствует следующему "разрешено", "запрещено" или "спрашивать"
После отработки команда возвращает результат своей работы в робот:
  • true – успешно задали (type: bool)
  • false – задать не удалось (type: bool)



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

<?php $xhe_host = "127.0.0.1:7012";
 
// подключим функциональные объекты, если еще не подключен
if (!isset($path))
  $path="../../../Templates/init.php";
require($path);
 
// начало
echo "<hr><font color=blue>browser->".basename (__FILE__)."</font><hr>";
 
$app->clear();
$browser->enable_proxy("","socks://127.0.0.1:9150");
 
// 1 
echo "1. Зададим координаты Нью-йорка : ";
echo $browser->set_geo("40.77659988","-73.95390320","100")."<br>";
 
// 2
echo "2. Здадаим все разрешения как granted : ";
echo $browser->set_permissions("granted")."\n";
 
// 3 
echo "3. Откроем гугл: ";
echo $browser->navigate("https://www.google.com/search?q=buy+car");
sleep(1);
$browser->set_vertical_scroll_pos(40000);
$anchor->click_by_inner_text("Учитывать мое местоположение", 0);
$anchor->click_by_inner_text("Обновить", 0);
 
// конец
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:7016";
			InitXHE();
 
			// начало
			echo("<hr><font color=blue>browser.set_platform</font><hr>");
 
			app.clear();
 
			// 1 
			echo("1. Зададим координаты Нью-йорка : ");
			echo(browser.set_geo("40.77659988","-73.95390320","100")+"<br>");
 
			// 2
			echo("2. Здадаим все разрешения как granted : ");
			echo(browser.set_permissions("granted")+"\n");
 
			// 3 
			echo("3. Откроем гугл: ");
			echo(browser.navigate("https://www.google.com/search?q=buy+car"));
			sleep(1);
			browser.set_vertical_scroll_pos(40000);
			anchor.click_by_inner_text("Учитывать мое местоположение", 0);
			anchor.click_by_inner_text("Обновить", 0);
 
			// конец
			echo("<hr><br>");
 
			app.quit();            
	  }
}

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

// подключим функциональные объекты, если еще не подключен
xhe_host="127.0.0.1:7016";
echo=require("../../../Templates JS/init.js");
 
// начало
echo("<hr><font color=blue>browser.set_accept_language</font><hr>");
 
app.clear();
 
// 1 
echo("1. Зададим координаты Нью-йорка : ");
echo(browser.set_geo("40.77659988","-73.95390320","100")+"<br>");
 
// 2
echo("2. Здадаим все разрешения как granted : ");
echo(browser.set_permissions("granted")+"\n");
 
// 3 
echo("3. Откроем гугл: ");
echo(browser.navigate("https://www.google.com/search?q=buy+car"));
app.sleep(1);
browser.set_vertical_scroll_pos(40000);
anchor.click_by_inner_text("Учитывать мое местоположение", 0);
anchor.click_by_inner_text("Обновить", 0);
 
// конец
echo("<hr><br>");
 
// Quit
app.quit();

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

# Additional paths
import sys
sys.path.insert(0, '../../../Templates PY/')
 
xhe_host = "127.0.0.1:7012"
from xweb_human_emulator import *
 
# начало
echo("<hr><font color=blue>browser.xxxxxxxxx</font><hr>")
 
app.clear();
 
# 1 
echo("1. Зададим координаты Нью-йорка : ");
echo(browser.set_geo("40.77659988","-73.95390320","100"),"<br>");
 
# 2
echo("2. Здадаим все разрешения как granted : ");
echo(browser.set_permissions("granted"),"\n");
 
# 3 
echo("3. Откроем гугл: ");
echo(browser.navigate("https://www.google.com/search?q=buy+car"));
sleep(1);
browser.set_vertical_scroll_pos(40000);
anchor.click_by_inner_text("Учитывать мое местоположение", 0);
anchor.click_by_inner_text("Обновить", 0);
 
 
# конец
echo("<hr><br>")
 
# Quit
app.quit()