通过GeckoFX如何执行JavaScript命令 +
c# gecko geckofx
我尝试进行类似警报(通过GeckoFX和C# 但我可以得分。 我尽量不出现与导航和的ExecuteCommand 我的代码
int i=0;
GeckoWebBrowser webBrowser
webBrowser.Navigate("alert('"+i.ToString()+"');");
webBrowser.ExecuteCommand("alert('" + i.ToString() + "');");
任何人都可以 +
本文地址 :CodeGo.net/596638/
-------------------------------------------------------------------------------------------------------------------------
1. 你AutoJSContext率符文用javascript geckofx。 喜欢:
GeckoWebBrowser browser = ....;
using (AutoJSContext context = new AutoJSContext(browser.JSContext))
{
string result;
context.EvaluateScript("3 + 2;", out result)
}
见EvaluateScript单元测试并举例。 如果一个超级老版本的nettygeckofx的需要得到更高版本-geckofx +
本文标题 :通过GeckoFX如何执行JavaScript命令 +
版权声明:本文为博主原创文章,未经博主允许不得转载。
定义:
browser:Gecko.GeckoWebBrowser 控件;
txtJsFun: textbox 控件;
使用 browser.Navigate("JavaScript:void(mytestfun())"); 调用页面中的js方法,其中 mytestfun() 是待调用的方法名。
=========== 实例 =================
向任意打开的页面中注入一段 js,然后调用 js 中的方法。
==================================
- 注册事件:
- browser.Load += browser_Load;
- 注入js:
- private bool _load = false;
- void browser_Load(object sender, DomEventArgs e)
- {
- if (!_load)
- {
- InjectJs(browser.Document);
- }
- if (!_load) _load = true;
- }
- /// <summary>
- /// 注入脚本
- /// </summary>
- public void InjectJs(GeckoDomDocument doc)
- {
- var js = doc.CreateHtmlElement("script");
- js.InnerHtml = "//alert(1);";
- js.InnerHtml = @"
- function mytestfun(d){
- alert(d||'参数值为空');
- }
- ";
- browser.Document.Head.AppendChild(js);
- //browser.Document.Body.AppendChild(js);
- }
- 调用js方法:
- private void btnJsInvoke_Click(object sender, EventArgs e)
- {
- var js ="mytestfun(1)";
- browser.Navigate(string.Format("javascript:void({0})",js));
- }
-
版权声明:本文为博主原创文章,未经博主允许不得转载。
Geckofx 是Firefox开源的版本,下面我讲的是C#的winform版如何执行jQuery或者js!
在网上找了很多资料和博客,写的都不怎么对,后来找到官方开源的文档,终于有些了解。
所以,我建议大家如果是使用一些开源的软件,一定要先看官方的文档,不然真的很浪费时间。
1 jquery的使用可以到官方论坛查看:
https://bitbucket.org/geckofx/geckofx-22.0/src/43eb4cb291167a3c21aa0ef63605b18a6862f3f4/GeckofxUnitTests/GeckoWebBrowserTests.cs?at=default&fileviewer=file-view-default#cl-244主要使用方式如下:
var executor = new Gecko.JQuery.JQueryExecutor(browser.Window); //先获取到jquery对象
executor.ExecuteJQuery("$('#a')"); //然后执行jquery的代码2 原生态js使用
using (AutoJSContext context = new AutoJSContext(browser.Window.JSContext))
{
string result;
context.EvaluateScript("3 + 2;", out result)
context.EvaluateScript("'hello' + ' ' + 'world';", out result)
}或者:
var twoID = browser.Document.GetHtmlElementById("two")
更多方法还是去上面的官方文档查看,肯定能得到你想要的结果,献给用C#浏览器做一些事情的所有开发者,不用找的那么麻烦。