关于 WinForm中webbrowser控件的使用
2016-12-17 15:43
435 查看
webbrowser是一个比较实用的工具,主要用于在winform窗体中嵌入浏览器,达到winform与webform互操作的目的。
private void Form1_Load(object sender, EventArgs e)
{
this.webBrowser1.Url = new Uri("http://www.baidu.com");//指定url地址为百度首页
}
private void button1_Click(object sender, EventArgs e)
{
HtmlElement searchWords = webBrowser1.Document.All["kw"];//获取百度搜索的文本框
HtmlElement searchButton = webBrowser1.Document.All["su"];//获取百度搜索的按钮
searchWords.SetAttribute("value", "赵薇");//给百度搜索的文本框赋值
searchButton.InvokeMember("click");//调用百度搜索按钮的点击事件
}
在winform中拖一个webbrowser控件,然后在相应事件中键入如上代码,就可以实现自助搜索(无需在文本框中输入关键词赵薇,再点搜索按钮,而是直接点击一个按钮进行搜索)。
原理很简单,就是通过查找在webbrowser控件生成的html代码中的input元素或button元素的id,通过api实现模拟赋值和查找工作。
再附一个稍微复杂的一点的例子。
如果生成的html比较复杂,比如含iframe这类的标签时该如何处理呢?
比如,我们要访问qq空间里面的留言功能时,通过google chrome浏览器看到的html代码,很复杂,好在我们也有办法处理
private void Form1_Load(object sender, EventArgs e)
{
this.webBrowser1.Url = new Uri("http://user.qzone.qq.com/345822155/infocenter#!app=334&url=http%3A%2F%2Fctc.qzs.qq.com%2Fqzone%2Fmsgboard%2Fmsgbcanvas.html%23page%3D1");
}
private void button1_Click(object sender, EventArgs e)
{
if (!webBrowser1.IsBusy)//判断有没有加载新的文档
{
HtmlElement searchButton = webBrowser1.Document.Window.Frames["tgb"].Document.All["btnPostMsg"];//获取到iframe id为tgb下面的button
searchButton.InvokeMember("click");
}
}
webbrowser是一个比较实用的工具,主要用于在winform窗体中嵌入浏览器,达到winform与webform互操作的目的。
private void Form1_Load(object sender, EventArgs e)
{
this.webBrowser1.Url = new Uri("http://www.baidu.com");//指定url地址为百度首页
}
private void button1_Click(object sender, EventArgs e)
{
HtmlElement searchWords = webBrowser1.Document.All["kw"];//获取百度搜索的文本框
HtmlElement searchButton = webBrowser1.Document.All["su"];//获取百度搜索的按钮
searchWords.SetAttribute("value", "赵薇");//给百度搜索的文本框赋值
searchButton.InvokeMember("click");//调用百度搜索按钮的点击事件
}
在winform中拖一个webbrowser控件,然后在相应事件中键入如上代码,就可以实现自助搜索(无需在文本框中输入关键词赵薇,再点搜索按钮,而是直接点击一个按钮进行搜索)。
原理很简单,就是通过查找在webbrowser控件生成的html代码中的input元素或button元素的id,通过api实现模拟赋值和查找工作。
再附一个稍微复杂的一点的例子。
如果生成的html比较复杂,比如含iframe这类的标签时该如何处理呢?
比如,我们要访问qq空间里面的留言功能时,通过google chrome浏览器看到的html代码,很复杂,好在我们也有办法处理
private void Form1_Load(object sender, EventArgs e)
{
this.webBrowser1.Url = new Uri("http://user.qzone.qq.com/345822155/infocenter#!app=334&url=http%3A%2F%2Fctc.qzs.qq.com%2Fqzone%2Fmsgboard%2Fmsgbcanvas.html%23page%3D1");
}
private void button1_Click(object sender, EventArgs e)
{
if (!webBrowser1.IsBusy)//判断有没有加载新的文档
{
HtmlElement searchButton = webBrowser1.Document.Window.Frames["tgb"].Document.All["btnPostMsg"];//获取到iframe id为tgb下面的button
searchButton.InvokeMember("click");
}
}
相关文章推荐
- 在winform中使用webbrowser控件时,不弹出新的页面,只在当前窗口打开
- WinForm webbrowser控件的使用
- 在winform中使用WebBrowser控件时怎样去除IE的滚动条
- 关于MFC项目中使用WebBrowser控件禁止脚本错误的方法
- 关于使用WinHtmlEditor控件获得html代码加载到wpf中webbrowser控件上乱码问题
- Winform 下使用WebBrowser的HTML编辑控件—WinHtmlControl 在win7 IE9下的问题记录
- WinForm webbrowser控件的使用
- 获取iframe中的内容、查找获取指定元素(关于用c++调用WEBBROWSER控件,使用相关接口操作web页面元素的一些方法)
- Winform 下使用WebBrowser的HTML编辑控件—WinHtmlControl 在win7 IE9下的问题
- 关于winform 中 使用Dock 之后 如何调整控件位置的讨论
- 关于MFC项目中使用WebBrowser控件禁止脚本错误的方法
- 如何在C# WinForm 程序中使用WebBrowser控件时设置COOKIE的值。
- 关于MFC项目中使用WebBrowser控件禁止脚本错误的方法
- Winform中WebBrowser控件的使用技巧
- C# winform使用webbrowser控件,不弹出新的页面,只在当前窗口打开
- 在WinForm中借助WebBrowser控件使用 tinymce 总结
- C# WinForm webBrowser控件使用实例,自动填写表单和提交
- 关于MFC项目中使用WebBrowser控件禁止脚本错误的方法
- [导入]在winform中使用WebBrowser控件时怎样去除IE的滚动条
- 关于C#WinForm的datagridview控件的使用经验及技巧收集(持续更新)