利用c#和webbrowser轻松打造注册机和回帖机
步骤如下:
第一步:获取网页 调用Webbrowser 的Navigate系列函数。等待网页装载完成,得到document对象。
在调用 webBrowser.Document 之前,请确保 Webbrowser 网页装载完成,可以通过Webbrowser的DocumentCompleted事件进行监视。
小技巧
先指定一个变量: IsCompleted 在调用Webbrowser 的Navigate,Refresh系列函数之前,将IsCompleted设为false。 在DocumentCompleted事件中,如果 ReadyState 为 WebBrowserReadyState.Complete,则设IsCompleted为true.
调用webBrowser.Document之前对IsCompleted进行判断。如果不为true,则延时循环等待,直到IsCompleted被设为true.
第二步:设置网页元素数据
确保得到document对象之后,通过 GetElementById 获取网页元素,如:
HtmlElement user = webBrowser.Document.GetElementById("user"); HtmlElement password = webBrowser.Document.GetElementById("password");
设置网页元素值:
user.InnerText = "myname"; password.InnerText = "123456";
小技巧 作用 SetAttribute 设置下拉框,复选框,多选框数据
下拉框: secret.SetAttribute("value", "question1"); 复选框 rememberme.SetAttribute("Checked", "True"); 多选框 cookietime.SetAttribute("checked", "checked");
当然,在SetAttribute 之前,也可以用GetAttribute取相关的属性先进行判断,再根椐需要进行设置。
第三步:提交网页数据
先取提交的按钮对象。 HtmlElement submit = webBrowser.Document.GetElementById("submit");
进行提交 submit.InvokeMember("click");
就是怎么简单。整个过程也就是 http get和post的过程。
当然也可以用低级点的WebRequest,还有更低级的socket来做,不过,现在的众多页面都有这样,那样的变形验证码,如果你和我一样,搞不定验证码识别,又贪图快点完成任务,上面的办法绝对是又快,又好。 [C语言系列]怎么使用webbrowser获取页面中的button元素。并触… [C语言系列]C# 过滤html,js,css代码 正则表达式 [C语言系列]C# DataGridView显示行号的两种方法 [C语言系列]C# WinForm 中Label自动换行 解决方法 [C语言系列]C# 线程调用主线程中的控件 [电脑应用]c# winform 打包部署 自定义界面 或设置开机启动 [C语言系列]C# 和 Linux 时间戳转换 [C语言系列]C#实现 WebBrowser中新窗口打开链接用默认或者指定… [C语言系列]C#全角和半角转换 [C语言系列]c#WebBrowser查找并选择文本
|