您的位置:首页 > 编程语言 > C#

C#实现自动填表

2009-06-10 21:57 316 查看
如果有个如下index.tml文档:
<html>
<body>
<FORM name="f" action="http://www.baidu.com/s?wd=">
<INPUT id="kw" name="wd" >
<INPUT id="sb" value="搜索" type="submit">
</FORM>
</body>
</html>

代码实现:
窗体装载事件中写入后面这条语句: webBrowser1.Navigate(@"*:\*\index.html");

在webBrowser1_DocumentCompleted事件或按钮事件中写入下面语句:
HtmlDocument doc = webBrowser1.Document; //获取document对象
HtmlElement btn = null;
foreach (HtmlElement em in doc.All) //轮循
{
string str = em.Id;
if ((str == "kw") || str == "sb") //减少处理
{
switch (str)
{
case "kw": em.SetAttribute("value", "自动填表"); break; //填表
case "sb": btn = em; break;
default: break;
}
}
}
webBrowser1.Document.All["sb"].InvokeMember("Click");//提交 , 或 下面语句
//btn.InvokeMember("click"); //触发submit事件
//因为submit不是C#提供的常用的已注册事件,所以不能够通过RaiseEvent直接调用。
//通过AttachEventHandler("submit",new EventHandler(fun))给form添加事件处理函数fun,
//然后在fun中用InvokeMember方法调用页面中的响应函数,不过这样可能就不能
//submit页面到form的action定义的url了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: