webBroswer自动提交表单 webBroser过滤某些标签元素 webBroswer截取网页部分内容 webBroswer 获取 iframe里的元素
来源:互联网 发布:wps的数据分析在哪里 编辑:程序博客网 时间:2024/05/21 10:43
一、webBroswer自动提交表单(以百度账号登陆为例)
1、新建一个winform项目
2、在winform拖入一个webBroswer控件
3、双击webBroswer控件,写入代码
namespace AutoSummit
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
webBrowser1.Navigate("https://passport.baidu.com/v2/?login&tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2F");
webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
HtmlElement textSubmit = webBrowser1.Document.All["TANGRAM__3__userName"];
HtmlElement textpswd = webBrowser1.Document.All["TANGRAM__3__password"];
HtmlElement btnSubmit = webBrowser1.Document.All["TANGRAM__3__submit"];
if (textSubmit == null || textpswd == null || btnSubmit == null)
return;
textSubmit.SetAttribute("value","XXXX"); // XXXX为百度账号
textpswd.SetAttribute("value", "XXXX"); //XXXX 为密码
btnSubmit.InvokeMember("click");
}
}
}
二、webBroswer过滤某些元素显示其为不可见,webBroswer截取网页部分内容 (如将id为btnBack的按钮元素过滤掉让他不可见)
private void displayNonebtnBack()
{
HtmlElement back = webBrowser1.Document.All["btnBack"];
if (back == null)
{
return;
}
back.Style = "display:none";
}
PS:我在网上经常看到有同学说想让webBroswer只显示网页一部分的内容,或者webBroswer截取网页部分内容,就是过滤掉一些内容,网上很多的说法都是将整个网页的源码下载下来,然后再将需要的标签源码写到webBroswer里去,但是这个做法有一个不好的地方就是javascript的内容不好处理,所以这个display:none的方法是我觉得一个比较好的方法,整个网页的源码也不需要下载,只需要在将过滤掉的标签不显示,displayNone这个函数写在webBrowser1_DocumentCompleted()这个函数里,这样页面加载的时候便可以自动将不需要显示的内容过滤掉,即实现webBroswer截取网页部分内容的功能。
三、webBroswer 获取 iframe里的元素
HtmlElement BTNNext = webBrowser1.Document.Window.Frames["frame_main"].Document.All["BTNNext"]; //frame_main为iframe的id或者name
四、webBroswer 将iframe里div 标签的元素设置为不可见
foreach (HtmlElement he in webBrowser1.Document.Window.Frames["frame_main"].Document.GetElementsByTagName("div"))
{
if (he.GetAttribute("className") == "Pay-TypeTab")
{
he.Style = "display:none";
}
if (he.GetAttribute("className") == "ttlbox")
{
he.Style = "display:none";
}
}
foreach (HtmlElement he in webBrowser1.Document.Window.Frames["frame_main"].Document.GetElementsByTagName("a"))
{
if (he.GetAttribute("tabIndex").StartsWith("-1"))
{
he.Style = "display:none";
}
}
webBroswer 获取div 标签子标签
foreach (HtmlElement getMoible in webBrowser1.Document.GetElementsByTagName("div"))
{
if (getMoible.GetAttribute("className") == "getMoible")
{
foreach (HtmlElement he in getMoible.Children)
{
he.InvokeMember("click");
}
}
}
webBroswer 获取div 标签的子标签span 里的文本内容,如要获取 “我是没有id的标签1”这个文本
如:有<div class="getMoible" >
<span>
我是没有id的标签1
</span>
</div>
<div class="getMoible2" >
<span>
我是没有id的标签2
</span>
</div>
没有id 的div 和span,可以这样获取文本内容
foreach (HtmlElement getMoible in webBrowser1.Document.GetElementsByTagName("div"))
{
if (getMoible.GetAttribute("className") == "getMoible")
{
textBox1.Visible = false;
foreach (HtmlElement he in getMoible.Children)
{
label1.Text = he.InnerText;
}
}
}
- webBroswer自动提交表单 webBroser过滤某些标签元素 webBroswer截取网页部分内容 webBroswer 获取 iframe里的元素
- webbroswer读取网页alert内容
- C#webbroswer 对网页进行网络操作
- 用webbroswer控件自动点击确定按钮
- xpjc webbroswer 配套的js开发
- c# webbroswer 中文乱码
- 使用webbroswer时如何实现windows 窗体与网页的互交
- Webbroswer或者DLG中嵌入的View(继承CHtmlView)显示网页内容部分白屏
- 在WebBroswer里面显示Word
- webBroswer SendMessage 模拟鼠标点击
- C# webbroswer屏蔽脚本错误
- 关于自定义webbroswer,禁止弹出文件下载窗口的方法
- webbroswer屏蔽Windows2003下“增强安全设置”窗口的方法
- 在WebBroswer中用javascript访问C#方法
- WPF——WebBroswer无法显示问题
- html form 表单提交过滤某些input元素
- Webbroswer 强制在当前窗口打开网页而不使用新窗口
- WebBroswer控件获取超链接、强制在本控件打开所有链接
- ADO.NET 大数据上传的利器 SqlBulkCopy
- oracle 表大小
- sqlite sql语句实现记录存在则修改、不存在则添加
- android 源码下载过程中遇到的一些问题
- jqGrid 方法
- webBroswer自动提交表单 webBroser过滤某些标签元素 webBroswer截取网页部分内容 webBroswer 获取 iframe里的元素
- iOS 7系列译文:iOS7的多任务处理
- ruby on rails学习第2篇:在CentOs上安装ruby on rails(完结)
- USACO Section 1.4 Packing Rectangles
- 构建企业级Linux服务器安全的十大要点
- DBGridEh的表中表设置
- MySql与SqlServer之存储过程区别1
- x86和X64
- 了解和实现 Lucene 分词器