User Tools

Site Tools


Sidebar

en:objects:browser:commands:set_document_complete_java_script

This is an old revision of the document!


set_document_complete_java_script

set_document_complete_java_script($script_text,$add_file); - add to the current page and call any JS immediately after the page document (and each page frame) is formed. This code will be executed in each frame and on the page. This can be useful for changing page objects, such as navigator.appName. (available from version 4.9.34)

The function accepts parameters as input:

  • $script_text – script text. If you need to get the result of the script, it is transmitted by creating additional DOM objects on the page.
  • $add_file – path to the file whose contents will be added to the beginning of the script text (if empty or there is no file, it will not affect anything).

    After testing, the function returns the result of its work to the script :
  • true – completed successfully
  • false – failed

    PHP example:

    <?php $xhe_host = "127.0.0.1:7013";
     
    //connect the object to control the emulator, if not already connected
    if(!isset($path))
       $path = "../../../Templates/xweb_human_emulator.php";
    require($path);
     
    //Start
    echo "<hr> <font color = blue> browser->".basename(__FILE__)."</font> <hr>";
     
    $browser->enable_browser_message_boxes();
     
    //1
    echo "1.Let's set Java Script - document complete:";
    //JS
    $js_new_naviagtor = "alert('document_complete');";
    echo $browser->set_document_complete_java_script($js_new_naviagtor)."<br>";
     
    //2
    echo "2.Let's see the changes:";
    echo $browser->navigate("whoer.net")."";
    sleep(2);
    $anchor->get_by_attribute("class", "btn-more")->focus();
    $anchor->get_by_attribute("class", "btn-more")->send_mouse_click();
     
    //end
    echo "<hr> <br>";
     
    //Quit
    $app->quit();
    ?>

    Python example:

    # Additional paths
    import sys
    sys.path.insert(0, '../../../Templates PY/')
     
    xhe_host = "127.0.0.1:7013"
    from xweb_human_emulator import *
     
    # Start
    echo("<hr> <font color = blue> browser.xxxxxxxxx </font> <hr>")
     
    # 1
    echo("1.Let's set Java Script - document complete")
     
    # JS
    js_new_naviagtor = "alert('document_complete');";
    echo(browser.set_document_complete_java_script(js_new_naviagtor), "<br>")
     
    # 2
    echo("2.Let's see the changes:")
    echo(browser.navigate("whoer.net"), "")
    sleep(2)
    anchor.get_by_attribute("class", "btn-more").focus()
    anchor.get_by_attribute("class", "btn-more").send_mouse_click()
     
    # end
    echo("<hr> <br>")
     
    # Quit
    app.quit()

    C# example:

    #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:7014";
    InitXHE();
     
    //Start
    echo("<hr> <font color = blue> browser.set_document_complete_java_script </font> <hr>");
     
    //refresh the page(to re-execute the script)
    browser.refresh();
     
    //1 step
    echo("1.Let's set the initial Java Script:");
    echo(browser.set_init_java_script(@ "
    function setAppName(window, appName)
    {
    if(window.navigator.appName!= appName)
    {
    var appNameProp = {get: function() {return appName; }};
    try
    {
    Object.defineProperty(window.navigator, 'appName', appNameProp);
    }
    catch(e)
    {
    window.navigator = Object.create(navigator, {appName: appNameProp});
    }
    }
    }
    setAppName(window, 'new app name1'); "," ") +" <br> ");
     
    //step 2
    echo("2.Let's see the appName changes:");
    echo(browser.navigate("whoer.net") + "");
    sleep(2);
    anchor.get_by_attribute("class", "btn-more").focus();
    anchor.get_by_attribute("class", "btn-more").send_mouse_click();
     
    //end
    echo("<hr> <br>");
     
    app.quit();
    }
    }

    Java Script example:

     
  • en/objects/browser/commands/set_document_complete_java_script.1602609805.txt.gz · Last modified: 2020/10/13 20:23 by sales