C# webBrowser 模拟登陆填充操作等(写网页注册机之类的时候要用到)
来源:互联网 发布:淘宝店铺如何起名字 编辑:程序博客网 时间:2024/04/26 13:50
来自:http://blog.chinaunix.net/uid-24427209-id-2608307.html
C# ,webBrowser,登录,数据填充,模拟点击链接,运行JS函数,检测网页是否载入完成
判断是否网络正常
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);//滚动到你要的坐标,以像素为单位
- C# webBrowser模拟登陆填充操作等(写网页注册机之类的时候要用到)
- C# webBrowser 模拟登陆填充操作等(写网页注册机之类的时候要用到)
- C# webBrowser 模拟登陆填充操作等(写网页注册机之类的时候要用到)
- 详解抓取网站,模拟登陆,抓取动态网页的原理和实现(Python,C#等)
- C# WinForm Webbrowser 模拟登陆 打卡
- C# webBrowser 控件 操作网页的的按钮
- C# ,webBrowser,登录,数据填充,模拟点击链接,运行JS
- 用webbrowser模拟登陆
- c#网页请求模拟登陆中遇到的bug
- LIBCURL上传文件, 下载文件,打开网页,POST数据,支持https等一系列函数方便各种模拟登陆注册账户
- C#的WebBrowser操作frame
- 豆瓣学习 --模拟http 操作 登陆等
- [参考资料]如何用Python,C#等语言去实现抓取静态网页+抓取动态网页+模拟登陆网站
- 如何用Python,C#等语言去实现抓取静态网页+抓取动态网页+模拟登陆网站
- 如何用Python,C#等语言去实现抓取静态网页+抓取动态网页+模拟登陆网站
- 如何用Python,C#等语言去实现抓取静态网页+抓取动态网页+模拟登陆网站
- HttpURLConnection写的模拟登陆
- C#-webBrowser-登录-数据填充-模拟点击链接-运行JS函数-检测网页是否载入完成
- sql 常用书法命令收集总计
- js获取页面加载的状态
- (最终解决)No buffer space available (maximum connections reached?)
- C# Webbrowser截屏 禁止弹出窗口及脚本错误提示 截取flash 视频
- MySQL中常用日期时间/数值函数
- C# webBrowser 模拟登陆填充操作等(写网页注册机之类的时候要用到)
- Win32Exception 创建窗口句柄时出错
- 我们程序员究竟要学什么?
- 最受关注的前端开源项目资源
- XOR的黄色大象:Erasure Code为Hadoop节省数据恢复带宽
- fastcgi配置
- C# 内存泄漏(webBrowser)
- HDU 3810 Magina
- Android 管理Tasks