Web / browser
set_document_complete_java_script
set_document_complete_java_script($script_text,$add_file); - добавить на текущую страницу и вызвать произвольный JS сразу после окончания формирования документа страницы (и каждого фрейма страницы). В каждом фрейме и на странице будет выполнен это код. Это может пригодится для изменения объктов страницы, например navigator.appName. (доступна с версии 4.9.34)Функция на вход принимает параметры:
После отработки функция возвращает результат своей работы в скрипт :
Пример использования (PHP):
===============================================================
<?php $xhe_host = "127.0.0.1:7013"; // подключим объект для управления эмулятором, если еще не подключен if (!isset($path)) $path="../../../Templates/xweb_human_emulator.php"; require($path); // начало echo "<hr><font color=blue>browser->".basename (__FILE__)."</font><hr>"; $browser->enable_browser_message_boxes(); // 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(); ?>
Пример использования (Python):
===============================================================
# 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()
Пример использования (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:7014"; 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("<hr><br>"); app.quit(); } }
Пример использования (JS):
===============================================================
=============================================
Browser Объекты DOM System Vision Web Window
=============================================
если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум
.