humanemulator.net — справка. Продукт, демо и покупка — на хуманэмулятор.рф | Демо | Купить | API | лог изменений

set_active_browser

set_active_browser($num,$activate=true); - сделать заданный браузер активным ( активный браузер принимает все DOM команды )

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

  • $num – номер активного браузера (номер закладки, нумерация начинается с нуля)
  • $activate – активировать ли браузер визуально (визуально переключиться на закладку с браузером), по умолчанию - перключаться.

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

    Пример использования
    <?php
    // Scenario: Set browser count to 3, then set active browser to browser number 1 to demonstrate set_active_browser function
    // Path to the init.php file for connecting to the XHE API
    $xhe_host = "localhost:7010";
    if (!isset($path)){
        // Path to the init.php file for connecting to the XHE API
        $path = "../../../Templates/init.php";
        // Including init.php grants access to all classes and functionality for working with the XHE API
        require($path);
    }
    
    // The following code demonstrates the usage of the set_active_browser function
    
    // First, set browser count to 3 to have multiple browsers
    WEB::$browser->set_count(3);
    
    // Set active browser to browser number 1 (0-based index)
    $browser_num = 1;
    $result = WEB::$browser->set_active_browser($browser_num);
    
    // Display the result
    if ($result) {
        echo "Successfully set active browser to: " . $browser_num;
    } else {
        echo "Failed to set active browser";
    }
    
    // Get the current active browser to verify
    $active_browser = WEB::$browser->get_active_browser();
    echo "\nCurrent active browser: " . $active_browser;
    
    // Remove all tabs except first
    $result = WEB::$browser->close_all_tabs();
    
    // Остановить работу
    WINDOW::$app->quit();
    ?>
    # Additional paths
    import sys
    sys.path.insert(0, '../../../Templates PY/')
    
    xhe_host = "127.0.0.1:7013"
    from xweb_human_emulator import *
    
    # начало
    echo("<hr><font color=blue>browser.xxxxxxxxx</font><hr>")
    
    # set count
    browser.set_count(7)
    browser.set_wait_params(0,0)
    
    # navigate
    browser.set_active_browser(5,true)
    browser.navigate("yahoo.com")
    # navigate
    browser.set_active_browser(4,false)
    browser.navigate("google.com")
    # navigate
    browser.set_active_browser(3,false)
    browser.navigate("msn.com")
    # navigate
    browser.set_active_browser(6,false)
    browser.navigate("yandex.ru")
    # navigate
    browser.set_active_browser(2,false)
    browser.navigate("rambler.ru")
    # navigate
    browser.set_active_browser(1,false)
    browser.navigate("mail.ru")
    
    # activate first loaded wep page
    num=0
    while true:
        for i in range(1,6):
            if browser.is_busy(i)==false:
                echo("Загрузилась страница в браузере : "+str(i),"\n")
                browser.set_active_browser(i,true)            
                num=num+1
        if num>=7:
                break
        sleep(1)
    
    # конец
    echo("<hr><br>")
    
    # Quit
    app.quit()
    #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 = "localhost:7010";
    			InitXHE();
    
    			// начало
    			echo("<hr><font color=blue>browser.set_active_browser</font><hr>");
    				
    			// 1 шаг
    			echo("1. Зададим 5 закладок браузера  : ");
    			echo(browser.set_count(5)+"<br>");sleep(2);
    			
    			// 2 шаг
    			echo("2. Перейдем на 2 закладку : ");
    			echo(browser.set_active_browser(2)+" ");
    			echo(browser.navigate("yahoo.com")+"<br>");
    			
    			// 3 шаг
    			echo("3. Получим число вкладок браузера : ");
    			echo(browser.get_count()+"<br>");
    			
    			// 4 шаг
    			echo("4. Закроем две текущих вкладки браузера : ");
    			echo(browser.close()+" ");
    			echo(browser.close()+"<br>");
    			
    			// 5 шаг
    			echo("5. Закроем все закладки браузера : ");
    			echo(browser.close_all_tabs());
    
    			// конец
    			echo("\n\n");
    
    			app.quit();            
    	  }
    }
    // подключим функциональные объекты, если еще не подключен
    xhe_host="127.0.0.1:7010";
    echo=require("../../../Templates JS/init.js");
    
    // начало
    echo("<hr><font color=blue>browser.set_active_browser</font><hr>");
    
    // параметры ожиания загрузки
    browser.set_wait_params(0,0);
    
    // 1 шаг
    echo("1. Задаим число браузеров : ");
    echo(browser.set_count(3)+"\n");
    
    // 2 шаг
    echo("2. Загрузим вклакди : ");
    echo(browser.set_active_browser(0)+" "); echo(browser.navigate("yahoo.com")+" ");
    echo(browser.set_active_browser(1)+" "); echo(browser.navigate("msn.com")+" ");
    echo(browser.set_active_browser(2)+" "); echo(browser.navigate("mail.ru")+"\n");
    
    // 3 шаг
    echo("3. Перейдем на страницу которая загрузится первой : ");
    while (true)
    {
      need_break=false;
      for (i=0;i<3;i++)
      {
        if (browser.is_busy(i)==false)
        {
           browser.set_active_browser(i,true); 
           need_break=true;
           break;
        }
      }
      if (need_break)
         break;
    }
    browser.sleep(10);
    
    // конец
    echo("\n");
    
    // Quit
    app.quit();

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