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

add_replace_rule

add_replace_rule($url, $exactly_url, $find, $replace); - добавить правило замены содержимого урла при загрузке в браузер (доступна с версии 6.0.43)

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

  • $url – урл на котором будет работать правило
  • $exactly_url – точное соответствие урла на котором будет работать правило (если false то на всех адресах, содержащие данный урл)
  • $find – что будет заменено
  • $replace – на что будет заменено

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

    Пример использования
    <?php
    // Scenario: Demonstrates how to add replacement rules to modify content during page loading
    $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);
    }
    
    // Start
    echo "\n<font color=blue>raw->".basename (__FILE__)."</font>\n";
    
    // Step 1: Enable monitoring
    echo "1. Enable monitoring: ";
    $enableResult = WEB::$raw->enable_all_streams(true);
    echo $enableResult . "\n";
    
    // Step 2: Clear replacement rules
    echo "2. Clear replacement rules: ";
    $clearResult = WEB::$raw->clear_replace_rules("");
    echo $clearResult."\n";
    
    // Step 3: Add replacement rules and navigate to test site
    echo "3. Add replacement rules and navigate: ";
    $siteUrl = TEST_SITE_URL;
    
    // Example 1: Replace "2017" with "_17_"
    $replace1 = WEB::$raw->add_replace_rule($siteUrl, true, "2017", "_17_");
    echo $replace1 . " ";
    
    // Example 2: Replace "2016" with "_16_"
    $replace2 = WEB::$raw->add_replace_rule($siteUrl, true, "2016", "_16_");
    echo $replace2 . " ";
    
    // Example 3: Replace "что" with "ЧТО"
    $replace3 = WEB::$raw->add_replace_rule($siteUrl, true, "что", "ЧТО");
    echo $replace3 . " ";
    
    // Navigate to test site with replacement rules active
    $navigateResult = WEB::$browser->navigate($siteUrl);
    echo $navigateResult . "\n";
    
    // Step 4: Disable monitoring
    echo "4. Disable monitoring: ";
    $disableResult = WEB::$raw->enable_all_streams(false);
    echo $disableResult;
    
    // End
    echo "\n";
    
    // Quit the application
    WINDOW::$app->quit();
    ?>
    # Additional paths
    import sys
    sys.path.insert(0, '../../../Templates PY/')
    
    xhe_host = "127.0.0.1:7028"
    from xweb_human_emulator import *
    
    # начало
    echo("<hr><font color=blue>raw.xxxxxxxxx</font><hr>")
    
    # 1 
    echo("1. Включить слежение за http : ");
    echo(raw.enable_all_streams(True),"<br>");
    
    # 2
    echo("2. Очистим правила замены : ")
    echo(raw.clear_replace_rules(""),"\n")
    
    # 3
    echo("3. Добавить правила - сделать 5 замен : ")
    echo(raw.add_replace_rule("http://rpa-bot.ru/wiki/",true,"2017","_17_")," ")
    echo(raw.add_replace_rule("http://rpa-bot.ru/wiki/",true,"2017","_17_")," ")
    echo(raw.add_replace_rule("http://rpa-bot.ru/wiki/",true,"2017","_17_")," ")
    echo(raw.add_replace_rule("http://rpa-bot.ru/wiki/",true,"2016","_16_")," ")
    echo(raw.add_replace_rule("http://rpa-bot.ru/wiki/",true,"2016","_16_")," ")
    echo(browser.navigate("rpa-bot.ru/wiki/")+"\n")
    
    # 4
    echo("4. Отключить слежение : ");
    echo(raw.enable_all_streams(False));
    
    # конец
    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>raw.add_disabled_request_url</font><hr>");
    				
                // 1 
                echo("1. Включить слежение за http : ");
                echo(raw.enable_all_streams(true)+"<br>");
    
                // 2
                echo("2. Очиcтим правила замены : ");
                echo(raw.clear_replace_rules("")+"\n");
    
                // 3
                echo("3. Добавить парвила - сделать 5 замен : ");
                echo(raw.add_replace_rule("https://rpa-bot.ru/wiki/",true,"2017","_17_")+" ");
                echo(raw.add_replace_rule("https://rpa-bot.ru/wiki/",true,"2017","_17_")+" ");
                echo(raw.add_replace_rule("https://rpa-bot.ru/wiki/",true,"2017","_17_")+" ");
                echo(raw.add_replace_rule("https://rpa-bot.ru/wiki/",true,"2016","_16_")+" ");
                echo(raw.add_replace_rule("https://rpa-bot.ru/wiki/",true,"2016","_16_")+" ");
                echo(browser.navigate("rpa-bot.ru/wiki/")+"\n");
    
                // 4
                echo("4. Отключить слежение : ");
                echo(raw.enable_all_streams(false));
    
    			// конец
    			echo("\n\n");
    
    			app.quit();            
    	  }
    }
    // подключим функциональные объекты, если еще не подключен
    xhe_host="127.0.0.1:7028";
    echo=require("../../../Templates JS/init.js");
    
    // начало
    echo("<hr><font color=blue>raw.clear_last_responses_array</font><hr>");
    
    // 1 
    echo("1. Включить слежение за http : ");
    echo(raw.enable_all_streams(true)+"<br>");
    
    // 2
    echo("2. Очиcтим правила замены : ");
    echo(raw.clear_replace_rules("")+"\n");
     
    // 3
    echo("3. Добавить парвила - сделать 5 замен : ");
    echo(raw.add_replace_rule("https://rpa-bot.ru/wiki/",true,"2017","_17_")+" ");
    echo(raw.add_replace_rule("https://rpa-bot.ru/wiki/",true,"2017","_17_")+" ");
    echo(raw.add_replace_rule("https://rpa-bot.ru/wiki/",true,"2017","_17_")+" ");
    echo(raw.add_replace_rule("https://rpa-bot.ru/wiki/",true,"2016","_16_")+" ");
    echo(raw.add_replace_rule("https://rpa-bot.ru/wiki/",true,"2016","_16_")+" ");
    echo(browser.navigate("rpa-bot.ru/wiki/")+"\n")
    
    // 4
    echo("4. Отключить слежение : ");
    echo(raw.enable_all_streams(false));
    
    // конец
    echo("\n");
    
    // Quit
    app.quit();

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