CSharp-webBrowser
来源:互联网 发布:医院门诊管理系统源码 编辑:程序博客网 时间:2024/04/27 16:10
在编写网页自动登录器、网页自动注册器、广告模拟点击器的时候,你可以能会用到webBrowser,用来模拟表单的填写及鼠标点击事件等,以下是你可能会用到的函数:
判断是否网络正常
private bool IsConnectedToInternet()
{
int Desc;
return internet.InternetGetConnectedState(out Desc, 0);
}
设置默认页面:
webBrowser1.Navigate(new Uri("http://www.ic2ic.com/copy.JSP"));
登录代码:
private void btnlogin_Click(object sender, EventArgs e)
{
webBrowser1.Document.GetElementById("id").InnerText =txtuser.Text.ToString().Trim();//fill name
webBrowser1.Document.GetElementById("passwd").InnerText =txtpwd.Text.ToString().Trim();//fill pwd
HTMLElement formLogin = webBrowser1.Document.Forms["frmLogin"];
formLogin.InvokeMember("submit");
Thread.Sleep(5000);
herfclick("http://www.ic2ic.com/upload.jsp");//这是登录成功的操作,跳转到//upload.ASP
//注意不是直接跳过去的,模拟点击链接
//SESSION不会丢失
herfclick("http://www.ic2ic.com/copy.jsp");
}
模拟点击链接:
private void herfclick(string url)
{
for (int i = 0; i < webBrowser1.Document.All.Count; i++)
{
if (webBrowser1.Document.All[i].TagName == "A" && webBrowser1.Document.All[i].GetAttribute("href").ToString().Trim() ==url)
{
webBrowser1.Document.All[i].InvokeMember("click");//引发”CLICK”事件
break;
}
}
}
运行网页中的JS函数
private void callJsMethod(string jsfun,string jsParameter)//函数名字,函数参数
{
HtmlDocument doc = webBrowser1.Document;
doc.InvokeScript(jsfun,new object[]...{jsParameter});
}
填充数据:
private void filldate(string txt)
{
HtmlElement frmword = webBrowser1.Document.Forms["frmWord"];//找到from
HtmlElementCollection txtarea = frmWord.GetElementsByTagName("TEXTAREA");
HtmlElementCollection radio = frmWord.GetElementsByTagName("INPUT");
radio[2].InvokeMember("click");//选择radio控件
txtarea[0].InnerText = txt.ToString();
}
原理很简单,在webBrowser1的DocumentCompleted事件中判断一下当前完成的url地址,如果当前完成url和当初要打开的url相等,就确定当前网页已经加载完成
//string strURL 要找开的页面的URL
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (e.Url.ToString().Trim() == strURL.Trim())
{
//已经加载完成
}
}
控制流动条
判断是否网络正常
private bool IsConnectedToInternet()
{
int Desc;
return internet.InternetGetConnectedState(out Desc, 0);
}
设置默认页面:
webBrowser1.Navigate(new Uri("http://www.ic2ic.com/copy.JSP"));
登录代码:
private void btnlogin_Click(object sender, EventArgs e)
{
webBrowser1.Document.GetElementById("id").InnerText =txtuser.Text.ToString().Trim();//fill name
webBrowser1.Document.GetElementById("passwd").InnerText =txtpwd.Text.ToString().Trim();//fill pwd
HTMLElement formLogin = webBrowser1.Document.Forms["frmLogin"];
formLogin.InvokeMember("submit");
Thread.Sleep(5000);
herfclick("http://www.ic2ic.com/upload.jsp");//这是登录成功的操作,跳转到//upload.ASP
//注意不是直接跳过去的,模拟点击链接
//SESSION不会丢失
herfclick("http://www.ic2ic.com/copy.jsp");
}
模拟点击链接:
private void herfclick(string url)
{
for (int i = 0; i < webBrowser1.Document.All.Count; i++)
{
if (webBrowser1.Document.All[i].TagName == "A" && webBrowser1.Document.All[i].GetAttribute("href").ToString().Trim() ==url)
{
webBrowser1.Document.All[i].InvokeMember("click");//引发”CLICK”事件
break;
}
}
}
运行网页中的JS函数
private void callJsMethod(string jsfun,string jsParameter)//函数名字,函数参数
{
HtmlDocument doc = webBrowser1.Document;
doc.InvokeScript(jsfun,new object[]...{jsParameter});
}
填充数据:
private void filldate(string txt)
{
HtmlElement frmword = webBrowser1.Document.Forms["frmWord"];//找到from
HtmlElementCollection txtarea = frmWord.GetElementsByTagName("TEXTAREA");
HtmlElementCollection radio = frmWord.GetElementsByTagName("INPUT");
radio[2].InvokeMember("click");//选择radio控件
txtarea[0].InnerText = txt.ToString();
}
原理很简单,在webBrowser1的DocumentCompleted事件中判断一下当前完成的url地址,如果当前完成url和当初要打开的url相等,就确定当前网页已经加载完成
//string strURL 要找开的页面的URL
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (e.Url.ToString().Trim() == strURL.Trim())
{
//已经加载完成
}
}
控制流动条
webBrowser1.Document.Window.ScrollTo(100, 100);//滚动到你要的坐标,以像素为单位
页面大小设置方法有2种:
第一种是采用 webBrowser1属性里面的Dock,将其设置为Fill;
this.webBrowser1.Dock = System.Windows.Forms.DockStyle.Fill;
第二种在webBrowser1初始化的代码里将其位置设置为分辨率的大小即可
this.webBrowser1.Size = new System.Drawing.Size(1280, 800);
0 0
- CSharp-webBrowser
- Csharp Webbrowser---解决乱码,解决js注入html无法运行
- csharp
- Csharp
- WebBrowser
- WebBrowser
- webBrowser
- webBrowser
- WebBrowser
- WebBrowser
- webbrowser
- WebBrowser
- WebBrowser
- WebBrowser
- webbrowser
- WebBrowser
- XmlTextWriter Csharp
- CSharp Language
- 常用正则表达式大全
- 在网页中执行本地exe程序的两种方式
- Silverlight中的DataTemplate
- 堆和栈的区别 深入详解
- hdu1565 hdu1569 方格取数 最小割
- CSharp-webBrowser
- NYOJ 455 黑色帽子
- 图片并排向左或向右滚动,鼠标点击可进入看大图
- URAL 1519 Formula 1 (插头)
- 算法导论第15章 最长公共子序列问题(LCS)
- Android中native进程内存泄露的调试技巧
- Solr 4.6.0 导入 Mysql 数据
- Linux 动态载入 Module 介绍
- 黑马程序员----java编程之空中网面试题