public void runJS(String cScript) { if (vGecko != null) { JQueryExecutor js = new Gecko.JQuery.JQueryExecutor(vGecko.DefaultView); js.ExecuteJQuery(cScript); } if (vHtml != null) { vHtml.InvokeScript(cScript); } }
public String getJSValue(String cScript) { if (vGecko != null) { JQueryExecutor js = new Gecko.JQuery.JQueryExecutor(vGecko.DefaultView); JsVal jsRet = js.ExecuteJQuery(cScript); if (!jsRet.IsNull) { return(StringEx.getString(jsRet)); } } if (vGecko != null) { Object objRet = vHtml.InvokeScript(cScript); if (objRet != null) { return(StringEx.getString(objRet)); } } return(null); }
public static JsVal ExecuteJQuery(IGeckoWebBrowser browser, string jQuery) { var jquery = new JQueryExecutor(browser.Window); return(jquery.ExecuteJQuery(jQuery)); }
/// <summary> /// Displays the Backtest results packet /// </summary> /// <param name="packet">Backtest results</param> public void DisplayBacktestResultsPacket(BacktestResultPacket packet) { if (packet.Progress != 1) return; //Remove previous event handler: var url = GetUrl(_job, _liveMode, true); //Generate JSON: var jObj = new JObject(); var dateFormat = "yyyy-MM-dd HH:mm:ss"; dynamic final = jObj; final.dtPeriodStart = packet.PeriodStart.ToString(dateFormat); final.dtPeriodFinished = packet.PeriodFinish.AddDays(1).ToString(dateFormat); dynamic resultData = new JObject(); resultData.version = "3"; resultData.results = JObject.FromObject(packet.Results); resultData.statistics = JObject.FromObject(packet.Results.Statistics); resultData.iTradeableDates = 1; resultData.ranking = null; final.oResultData = resultData; var json = JsonConvert.SerializeObject(final); //GECKO RESULT SET: #if !__MonoCS__ _geckoBrowser.DOMContentLoaded += (sender, args) => { var executor = new JQueryExecutor(_geckoBrowser.Window); executor.ExecuteJQuery("window.jnBacktest = JSON.parse('" + json + "');"); executor.ExecuteJQuery("$.holdReady(false)"); }; _geckoBrowser.Navigate(url); #else //MONO WEB BROWSER RESULT SET: _monoBrowser.DocumentCompleted += (sender, args) => { if (_monoBrowser.Document == null) return; _monoBrowser.Document.InvokeScript("eval", new object[] { "window.jnBacktest = JSON.parse('" + json + "');" }); _monoBrowser.Document.InvokeScript("eval", new object[] { "$.holdReady(false)" }); }; _monoBrowser.Navigate(url); #endif foreach (var pair in packet.Results.Statistics) { _logging.Trace("STATISTICS:: " + pair.Key + " " + pair.Value); } }
public void filldropdown(string id, string value) { GeckoWebBrowser wb = (GeckoWebBrowser)GetCurrentWB(); if (wb != null) { if (id.StartsWith("/")) { string xpath = id; GeckoHtmlElement elm = GetElementByXpath(wb.Document, xpath); elm.SetAttribute("selectedIndex", value); elm.Focus(); } else { using (AutoJSContext context = new AutoJSContext(wb.Window.JSContext)) { string javascript = string.Empty; context.EvaluateScript("document.getElementById('" + id + "').selectedIndex = " + value + ";"); JQueryExecutor jquery = new JQueryExecutor(wb.Window); jquery.ExecuteJQuery("$('#" + id + "').trigger('change');"); context.EvaluateScript("document.getElementById('" + id + "').scrollIntoView();"); } } } }