好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

WebBrowser、获取网页内容、模拟点击、控件操作、常用属性、事件

WebBrowser、获取网页内容、模拟点击、控件操作、常用属性、事件

获取值

//获取普通标签的值webBrowser1.Document.All["标签ID"].InnerText;    
//获取Input控件的值webBrowser1.Document.All["控件ID"].GetAttribute("value");    
 //获取没有ID的控件
    /*思路:
    	1、找到该控件含有ID值得父级元素
    	2、使用父级元素.子元素得方式去获取
    */HtmlElement htmlele = webBrowser1.Document.GetElementById("父级元素ID").Children[1];//第2个子元素htmlele.GetAttribute("value");

操作控件Checkbox

//获取值webBrowser1.Document.GetElementById("控件ID").GetAttribute("Checked");//返回bool(string)//设置webBrowser1.Document.GetElementById("控件ID").SetAttribute("Checked", "true");

输入框

webBrowser1.Document.GetElementById("控件ID").SetAttribute("value","填入内容");

获取焦点

this.webBrowser1.Select();this.webBrowser1.Focus();
webBrowser1.Document.All["控件ID"].Focus();

模拟点击

HtmlElement htmlEle = webBrowser1.Document.GetElementById("控件ID");
htmlEle.InvokeMember("click");

获取/设置 Style

//获取webBrowser1.Document.GetElementById("控件ID").Style    
//设置var temp = webBrowser1.Document.GetElementById("控件ID");
targAd.Style += "display: none;"

1. 属性

属性说明
Application如果该对象有效,则返回掌管WebBrowser控件的应用程序实现的自动化对象(IDispatch)。如果在宿主对象中自动化对象无效,这个程序将返回WebBrowser 控件的自动化对象
Parent返回WebBrowser控件的父自动化对象,通常是一个容器,例如是宿主或IE窗口
Container返回WebBrowser控件容器的自动化对象。通常该值与Parent属性返回的值相同
Document为活动的文档返回自动化对象。如果HTML当前正被显示在WebBrowser中,则 Document属性提供对DHTML Object Model的访问途径
TopLevelContainer返回一个Boolean值,表明IE是否是WebBrowser控件顶层容器,是就返回true
Type返回已被WebBrowser控件加载的对象的类型。例如:如果加载.doc文件,就会返 回Microsoft Word Document
Left返回或设置WebBrowser控件窗口的内部左边与容器窗口左边的距离
Top返回或设置WebBrowser控件窗口的内部左边与容器窗口顶边的距离
Width返回或设置WebBrowser窗口的宽度,以像素为单位
Height返回或设置WebBrowser窗口的高度,以像素为单位
LocationName返回一个字符串,该字符串包含着WebBrowser当前显示的资源的名称,如果资源 是网页就是网页的标题;如果是文件或文件夹,就是文件或文件夹的名称
LocationURL返回WebBrowser当前正在显示的资源的URL
Busy返回一个Boolean值,说明WebBrowser当前是否正在加载URL,如果返回true 就可以使用stop方法来撤销正在执行的访问操作

2. 方法

方法说明
GoBack相当于IE的“ 后退 ”按钮,使你在当前历史列表中后退一项
GoForward相当于IE的“ 前进 ”按钮,使你在当前历史列表中前进一项
GoHome相当于IE的“ 主页 ”按钮,连接用户默认的主页
GoSearch相当于IE的“ 搜索 ”按钮,连接用户默认的搜索页面
Navigate连接到指定的URL
Refresh刷新当前页面
Refresh2同上,只是可以指定刷新级别,所指定的刷新级别的值来自RefreshConstants枚举表, 该表定义在ExDisp.h中,可以指定的不同值如下: REFRESH_NORMAL 执行简单的刷新,不将 HTTP pragma: no-cache头发送给服务器 REFRESH_IFEXPIRED 只有在网页过期后才进行简单的刷新 REFRESH_CONTINUE 仅作内部使用。在MSDN里写着DO NOT USE! 请勿使用 REFRESH_COMPLETELY 将包含 pragma: no-cache头的请求发送到服务器
Stop相当于IE的“ 停止 ”按钮,停止当前页面及其内容的载入

3. 事件

Private EventsDescription
BeforeNavigate2导航发生前激发,刷新时不激发
CommandStateChange当命令的激活状态改变时激发。它表明何时激活或关闭Back和Forward 菜单项或按钮
DocumentComplete当整个文档完成是激发,刷新页面不激发
DownloadBegin当某项下载操作已经开始后激发,刷新也可激发此事件
DownloadComplete当某项下载操作已经完成后激发,刷新也可激发此事件
NavigateComplete2导航完成后激发,刷新时不激发
NewWindow2在创建新窗口以前激发
OnFullScreen当FullScreen属性改变时激发。该事件采用VARIENT_BOOL的一个输 入参数来指示IE是全屏显示方式(VARIENT_TRUE)还是普通显示方式(VARIENT_FALSE)
OnMenuBar改变MenuBar的属性时激发,标示参数是VARIENT_BOOL类型的。 VARIANT_TRUE是可见,VARIANT_ FALSE是隐藏
OnQuit无论是用户关闭浏览器还是开发者调用Quit方法,当IE退出时就会激发
OnStatusBar与OnMenuBar调用方法相同,标示状态栏是否可见。
OnToolBar调用方法同上,标示工具栏是否可见。
OnVisible控制窗口的可见或隐藏,也使用一个VARIENT_BOOL类型的参数
StatusTextChange如果要改变状态栏中的文字,这个事件就会被激发,但它并不理会程序是否有状态栏
TitleChangeTitle有效或改变时激发

参考:https://blog.csdn.net/xishining/article/details/81843937
https://www.cnblogs.com/qqflying/archive/2012/07/27/2611563.html


查看更多关于WebBrowser、获取网页内容、模拟点击、控件操作、常用属性、事件的详细内容...

  阅读:641次

上一篇: C#创建Json对象

下一篇:ADO.NET基础