C#winform程序打开网页,怎么模拟对网页的操作?求C#源码

类似如下操作:点击winform上的按钮,弹出百度首页,3秒后文本框里自动输入随意文本(比如:a),然后自动点击“百度一下”,弹出搜索结果页面,但是这个页面的文本框里的文... 类似如下操作:点击winform上的按钮,弹出百度首页,3秒后文本框里自动输入随意文本(比如:a),然后自动点击“百度一下”,弹出搜索结果页面,但是这个页面的文本框里的文本是**a**。菜鸟一个,哪位朋友能说下?谢谢哦
那个朋友能给个源码不?真是一点都不懂滴
展开
 我来答
百度网友a7339fa40
2011-10-12 · TA获得超过703个赞
知道小有建树答主
回答量:389
采纳率:0%
帮助的人:240万
展开全部
一般来说,在winform的webborwer控件里操作,来实现模拟操作!
追问
能给个源码么?刚接触,真的是不懂
追答
公司不可以向外传技术方面的文档,何况源码。其实不难的,你拖个WebBrowser到窗体,再拖个button,在button_click事件里面写webBrowser1.Navigate("http://www.baidu.com/"); 这样首先你就连接到百度了
再到webBrowser1加载事件里写(对了,先添加引用com+组件:Microsoft HTML Object Library 因为要用HtmlElement操作网页里的文本框或按钮)
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)// 当webBrowser1完成加载网页时触发
{
if (e.Url.ToString() != webBrowser1.Url.ToString())
return;
if (webBrowser1.ReadyState != WebBrowserReadyState.Complete)
return;
//前面两句是防止重复加载网页
//你想3秒后在执行操作,那就拖个timer1控件,把它的属性Interval设置为1000,在拖个
Label控件,记录时间
timer1.Enabled = true;//加载完毕后触发timer1,开始计时
}
最后在timer1_Tick事件
private void timer1_Tick(object sender, EventArgs e)
{
label1.Text =Convert.ToString(int.Parse(label1.Text) + 1);
if (label1.Text == "3")//当到达3秒的时候
{
HtmlElement html_input = webBrowser1.Document.GetElementById("kw");//获取百度的搜索框(KW是百度搜索框的ID)
html_input.SetAttribute("value", "你要百度一下的值写在这里");//这边就是给百度的文本框赋值了

HtmlElement html_btn = webBrowser1.Document.GetElementById("su");//获取百度的百度一下按钮(su是按钮的ID)
html_btn.InvokeMember("click");//模拟点击按钮
}
}

这样就OK,我说的和注释的很清楚了!!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式