C# WebBrowser 网页操作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C#的WebBrowser操作frame如此简单
刚学c#不久,也不太懂什么IHTMLDocument、IHTMLDocument2、IWebBrowser2等等。自己琢磨了好久,终于知道了怎么用WebBrowser操作frame和iframe。
1.获取frame的源文件
MessageBox.Show(webBrowser1.Document.Window.Fram es["main"].Document.Body.Inner Html);
2.获取frame的HTMLDocument接口
HTMLDocument doc = (HTMLDocument)webBrowser1.Document.DomDocument;
object j;
for (int i = 0; i < doc.parentWindow.frames.length; i++)
{
j = i;
HTMLWindow2Class fram e = doc.parentWindow.frames.item(ref j) as HTMLWindow2Class;
if ( == "main")
{
MessageBox.Show(frame.document.title);
}
}
3.获取frame的IHTMLDocument2接口
IHTMLDocument2 doc =
(IHTMLDocument2)webBrowser1.Document.Window.Frames["main"].Document.DomDocu ment;
4.取得frame中被点击的连接
private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e) {
string url =
webBrowser1.Document.Window.Frames["main"].Document.ActiveElement.GetAttribute("s rc");
}
原文:/llj1985/archive/2007/09/01/1768147.aspx
C# 通过webBrowser 框架网页
2009-11-16 08:53
首先对webBrowser加载网页
this.webBrowser1.Url= new System.Uri("url地址", System.UriKind.Absolute);
给一般不是框架网页中的文本框赋值
webBrowser1.Document.GetElementById("文本框ID").InnerText= "weiling";//文本框赋值根据ID赋值
或者:this.webBrowser1.Document.All["文本框name"].SetAttribute("value", "0924");//文本框赋值根据name赋值
表单提交,也可以看成是一个点击事件
HtmlElement form= webBrowser1.Document.GetElementById("formID");//提交表单
form.InvokeMember("submit");
框架网页中的文本框赋值,"frameMain"是框架的na me
webBrowser1.Document.Window.Frames["frameMain"].Document.GetElementById("txtXingming ").InnerText= "521656";//框架赋值
注:frameMain 是框架的name
框架网页中下拉框赋值
HtmlDocument doc= webBrowser1.Document.Window.Frames["frameMain"].Document;//框架下下拉框赋值
HtmlElement el= doc.GetElementById("drpXingbie");
el.SetAttribute("selectedIndex","1");
网页控件没有ID时的操作
C#:webBrowser1控件通过TagName,Name查找元素(没有ID时)
//防止页面多次刷新页面执行
if (num == 1)
{
string GetUserName = System.Configuration.ConfigurationSettings.AppSettings["Y2000UserName"].ToString();
string GetUserPassword = System.Configuration.ConfigurationSettings.AppSettings["Y2000UserPassword"].ToString();
int a = 1;
int all = webBrowser1.Document.Body.All.Count;
for (int i = 0; i < all; i++)
{
HtmlElement GetElement = webBrowser1.Document.All[i];
//取到包含input标签的元素
if (GetElement.T agName.T oUpper().ToString() == "INPUT")
{
//根据input的Name属性,找到该元素并赋值:给用户名输入框赋值
if (.ToString() == "UserName")