本帖最后由 我是MT 于 2015-3-16 19:59 编辑
我这里的webbrowser使用的是webkitbrowser控件。由于需要让浏览器执行一些js动作。这些代码非常冗长,每次使用都要去复制粘贴一下,考虑到C#面向对象的特性。我做了一个类,然后想把这些动作给封装起来方便调用:
比如,浏览器在文本框中输入值,然后点击文本框旁边的“搜索”按钮这两个动作的代码:
[C#] 纯文本查看 复制代码 string script = "document.getElementById('mq')." + "value=\"" + textBox1.Text + "\"";
webKitBrowser1.StringByEvaluatingJavaScriptFromString(script);
script = "var btn=document.getElementsByTagName('button');btn[0].click();";
webKitBrowser1.StringByEvaluatingJavaScriptFromString(script);
我写了一个类,里面有个方法。类似这样子的:
[C#] 纯文本查看 复制代码 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using WebKit;
namespace HelloTmall
{
public class Action
{
/// <summary>
/// 搜索
/// </summary>
/// <param name="text">搜索关键词</param>
/// <param name="webKitBrowser1">实例化的webkit对象</param>
public void search(string text, WebKitBrowser webKitBrowser1)
{
string script = "document.getElementById('mq')." + "value=\"" + text + "\"";
webKitBrowser1.StringByEvaluatingJavaScriptFromString(script);
script = "var btn=document.getElementsByTagName('button');btn[0].click();";
webKitBrowser1.StringByEvaluatingJavaScriptFromString(script);
}
}
}
我这么使用:
我试过了,无法执行。报错。
问题是这个webKitBrowser1已经是form加载的时候画出来,实例化了。如果这里再实例化的话,应该不对吧。
|