Window / app



restart

restart($scriptpath="",$params="",$port="",$cache_folder="",$cookies_folder="",$pause_before_start_s=0); - сделать перезапуск хуман эмулятора, обычно применяется для борьбы с утечками памяти браузера

Функция на вход принимает параметры:

  • $scriptpath – путь к скрипту, что будет запущен после рестарта
  • $params – параметры, что будут переданы запущенному после рестарта скрипту
  • $port – порт, на котором будет запущен хуман после рестарта
  • $cache_folder – папка под кэш, которую будет использовать хуман после рестарта, также с версии 4.10.8 при передаче параметра "default" - будут использоваться путь к папке по умолчанию (системный)
  • $cookies_folder – папка под куки, которую будет использовать хуман после рестарта, также с версии 4.10.8 при передаче параметра "default" - будут использоваться путь к папке по умолчанию (системный)
  • $pause_before_start_s – пауза, котрая дается хуману на закрытие (в секундах), на старых или загржуеных машинах есть смысл выставит в 2-3 секунды (доступна с 4.10.16 версии)

    После отработки функция возвращает результат своей работы в скрипт :
  • true – успешно отработали
  • false – операция не удалась

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

    <?php $xhe_host = "127.0.0.1:7011";
     
    $xhe_host = "127.0.0.1:7011";
     
    // подключим объект для управления эмулятором, если еще не подключен
    if (!isset($path))
      $path="../../../Templates/xweb_human_emulator.php";
    require($path);
     
    // начало
    echo "<hr><font color=blue>app->".basename (__FILE__)."</font><hr>";
     
    // 1 
    echo "1. Вывести аргументы командной строки : <br><br>";
    $out=$app->get_port().": ";
    if (count($argv)>=1)
    	$out.= "argv[0]=".$argv[0]."<br>";
    if (count($argv)>=2)
    	$out.="argv[1]=".$argv[1]."<br>";
    if (count($argv)>=3)
    	$out.="argv[2]=".$argv[2]."<br>";
    if (count($argv)>=4)
    	$out.="argv[3]=".$argv[3]."<br>";
    // вывод
    echo $out;
    $app->set_title($out);
     
    // пауза
    sleep(3);
     
    // перегрузить приложение с запуском скрипта
    if ($argv[1]=="")
        $app->restart("restart.php","1_1 1_2 1_3","7011");
    if ($argv[1]=="1_1")
        $app->restart("restart.php","2_1 2_2 2_3","7011");
    if ($argv[1]=="2_1") 
            $app->restart("restart.php","3_1 3_2 3_3","7011","new_cookies_folder","new_cache_folder",10);	
    if ($argv[1]=="3_1")
    {
        sleep(3);
        $app->restart("restart.php","");
    }
     
    // конец
    echo "<hr><br>";
     
    // Quit
    $app->quit();
    ?>

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

    ?# Additional paths
    import sys
    sys.path.insert(0, '../../../Templates PY/')
     
    xhe_host = "127.0.0.1:7011"
    from xweb_human_emulator import *
     
    # начало
    echo("<hr><font color=blue>app.xxxxxxxxx</font><hr>")
     
    # 1 
    echo("1. Вывести аргументы командной строки : <br><br>")
    if len(sys.argv)>=1:
    	echo("argv[0]="+sys.argv[0],"<br>")
    if len(sys.argv)>=2:
    	echo("argv[1]="+sys.argv[1],"<br>")
    if len(sys.argv)>=3:
    	echo("argv[2]="+sys.argv[2],"<br>")
    if len(sys.argv)>=4:
    	echo("argv[3]="+sys.argv[3],"<br>")
     
    # пауза
    sleep(3)
     
    # перегрузить приложение с запуском скрипта
    if len(sys.argv)==1:
        app.restart("restart.py","1_1 1_2 1_3","7010")
     
    if sys.argv[1]=="1_1":
        app.restart("restart.py","2_1 2_2 2_3","7011")
     
    if sys.argv[1]=="2_1": 
        app.restart("restart.py","3_1 3_2 3_3","7012","new_cookies_folder","new_cache_folder",10)
     
    # конец
    echo("<hr><br>")
     
    # Quit
    app.quit()

    Пример использования (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:7013";
    			InitXHE();
     
    			// начало
    			echo("<hr><font color=blue>app.restart</font><hr>");
     
    			// 1 шаг
    			echo("1. Вывести аргументы командной строки : <br><br>");			
    			if (args.Length>=1)
    				echo("args[0]="+args[0]+"<br>");
    			if (args.Length>=2)
    				echo("args[1]="+args[1]+"<br>");
    			if (args.Length>=3)
    				echo("args[2]="+args[2]+"<br>");
    			if (args.Length>=4)
    				echo("args[3]="+args[3]+"<br>");
     
    			// пауза
    			sleep(5);
     
    			// перегрузиить приложение с запуском скрипта
    			if (args.Length==0)
    				app.restart("restart.cs","1_1 1_2 1_3","7010");
    			if (args[0]=="1_1")
    				app.restart("restart.cs","2_1 2_2 2_3","7011");
    			if (args[0]=="2_1")
    					app.restart("restart.cs","3_1 3_2 3_3","7012","new_cookies_folder","new_cache_folder");			
     
    			// конец
    			echo("<hr><br>");
     
    			app.quit();            
    	  }
    }

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

    // подключим объект для управления эмулятором, если еще не подключен
    xhe_host="127.0.0.1:7018";
    echo=require("../../../Templates JS/xweb_human_emulator.js");
     
    // начало
    echo("<hr><font color=blue>app.restart</font><hr>");
     
    // аргументы командной строки
    var argv=process.argv;
     
    // 1 шаг
    echo("1. Вывести аргументы командной строки : <br><br>");
    if (argv.length >= 1)
    	echo("argv[0]="+argv[0]+"<br>");
    if (argv.length >= 2)
    	echo("argv[1]="+argv[1]+"<br>");
    if (argv.length >= 3)
    	echo("argv[2]="+argv[2]+"<br>");
    if (argv.length >= 4)
    	echo("argv[3]="+argv[3]+"<br>");
     
    // пауза
    browser.sleep(10);
     
    // выполнить рестарт
    {
    	// перегрузиить приложение с запуском скрипта
    	if (argv[1]=="")
    		app.restart("restart.php","1_1 1_2 1_3","7010");
    	if (argv[1]=="1_1")
    		app.restart("restart.php","2_1 2_2 2_3","7011");
    	if (argv[1]=="2_1")
    			app.restart("restart.php","3_1 3_2 3_3","7012","new_cookies_folder","new_cache_folder");
    	app.restart("restart.php","1_1 1_2 1_3","7010");
    }
     
    // конец
    echo("<hr><br>");
     
    // Quit
    app.quit();

    =============================================
    App     Объекты    DOM  System  Web  Window        
    =============================================
    если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум по автоматизации IE
    .