humanemulator.net — справка.
Продукт, демо и покупка — на
хуманэмулятор.рф
|
Демо
|
Купить
|
API
|
лог изменений
set_document_complete_java_script
set_document_complete_java_script($script_text,$add_file); - добавить на текущую страницу и вызвать произвольный JS сразу после окончания формирования документа страницы (и каждого фрейма страницы). В каждом фрейме и на странице будет выполнен это код. Это может пригодится для изменения объктов страницы, например navigator.appName. (доступна с версии 4.9.34)Функция на вход принимает параметры:
После отработки функция возвращает результат своей работы в скрипт :
Пример использования
<?php // Scenario: Set document complete JavaScript to run when page loads, then navigate to a website to demonstrate set_document_complete_java_script function $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_document_complete_java_script function // Set document complete JavaScript $script_text = "console.log('Document fully loaded');"; $result = WEB::$browser->set_document_complete_java_script($script_text); // Display the result if ($result) { echo "Successfully set document complete JavaScript"; echo "\nScript: " . $script_text; } else { echo "Failed to set document complete JavaScript"; } // Navigate to a website $url = "https://www.google.com"; WEB::$browser->navigate($url); WEB::$browser->wait_js(3); // Quit the application 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>") # 1 echo("1. Зададим 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. Посмотрим изменения : ") 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() # конец 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_document_complete_java_script</font><hr>"); // обновим страницу (для повторного выполнения скрипта) browser.refresh(); // 1 шаг echo("1. Зададим начальный 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>"); // 2 шаг echo("2. Посмотрим изменения appName : "); 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(); // конец 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_document_complete_java_script</font><hr>"); // 1 шаг echo("1. Вызовем метод set_document_complete_java_script : \n"); var result = browser.set_document_complete_java_script("script", "add"); echo(result+"\n"); // конец echo("\n"); // уведомляем среду что скрипт закончил работать app.quit();
=============================================
Browser Объекты DOM System Vision Web Window
=============================================
если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум
.