知识大全 VB.NET表单自动提交实现方案剖析

Posted

篇首语:青春须早为,岂能长少年。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 VB.NET表单自动提交实现方案剖析相关的知识,希望对你有一定的参考价值。

VB.NET表单自动提交实现方案剖析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  我们曾经在一篇文章中介绍过邮件自动注册中的修改代理服务器的应用 不过要想实现这一功能的话还需要一个应用的实现 那就是VB NET表单自动提交 在这里我们就会为大家详细介绍这一应用技巧

  前些天在网上看到有人需要邮箱自动注册的程序 于是自己也写了一个 在查资料的过程中我看到一些网友写的类似文章 有一些是基于网络协议 需要了解session cookie这些东西 对于一个新手来说很繁琐 等到把这些东西搞懂 热情也消耗殆尽 vb的优点就在于可以让那些对于计算机底层不是很了解的人迅速实现自己的程序设计 我找到了一种比较简单的办法 要求对HTML标记语言有所了解即可 现在把自己的经验写出来于各位网友共享 该方法也许不值一提 也许对您有所帮助

  我的办法就是利用控件WebBrowser 我想很多人对它都很熟悉 在新建一个工程之后您要做的是添加两个控件 一个是WebBrowser 另一个是Scriptlet 这两个控件配合使用 就可以完成这个任务了 Scriptlet中的IHTMLDocument 对象可以用来获得WebBrowser控件中的HTML文档 这两个控件的名字在组件对话框里分别叫Microsoft HTML Object Library和Microsoft Internet Controls

  这两个控件添加完成之后 你还需要知道WebBrowser的一个事件DocumentComplete 这个事件在整个网页下载完成之后触发 也就是说在页面完成之后这个事件即被执行 有了这些就可以顺利的实现注册了

  下面以eyou网站的免费邮箱注册为例来实现我的程序设计 新建标准工程后向Form中添加一个WebBrowser控件 所有代码如下

   Dim ii As Integer

   Private Sub Form_Load()

   WebBrowser Navigate ?

  bgp=%CE%D %BD%D %CA%DC&bgp_enable=on

   End Sub

   Private Sub WebBrowser _DocumentComplete

  (ByVal pDisp As Object URL As Variant)

   Dim doc As IHTMLDocument

   Set doc = WebBrowser Document

   Dim tmp As String

   If InStr(doc body innerText 寻找一个新的用户名 ) > Then

   tmp = sdfsdf + Trim(Str$(ii))

   doc All Item( uid ) focus

   SendKeys tmp

   SendKeys enter

   End If

   If InStr(doc body innerText 输入您的个人资料 ) > Then

   doc All Item( Password ) Value =

   doc All Item( Confirm ) Value =

   doc All Item( FirstName ) Value = tomcant

   doc All Item( question ) Value = what is your name

   doc All Item( answer ) Value = my name is ddd

   doc All Item( year ) Value =

   doc All Item( month ) Value =

   doc All Item( day ) Value =

   doc All Item( day ) focus

   SendKeys enter

   End If

   If InStr(doc body innerText 申请邮箱成功 ) > Then

   iiii = ii +

   WebBrowser Navigate ?

  bgp=%CE%D %BD%D %CA%DC&bgp_enable=on

   End If

   End Sub

  Eyou的免费邮箱注册入口地址为?bgp=%CE%D %BD%D %CA%DC&bgp_enable=on 所以要在Form_load事件中使用WebBrowser控件的Navigate方法

  在eyou的注册入口页面完成之后WebBrowser _DocumentComplete即被执行 在这个函数中主要有三个条件语句 在三个条件语句之前有如下三句

   Dim doc As IHTMLDocument

   Set doc = WebBrowser Document

   Dim tmp As String

  doc定义为IHTMLDocument 对象用以取得WebBrowser 的文档 tmp字符串是循环注册中的用户名 在VB NET表单自动提交的程序刚开始定义了ii这个integer变量 在每次注册完成之后ii加 附于tmp之后用以改变用户名

  第一个条件语句如下

   If InStr(doc body innerText 寻找一个新的用户名 ) > Then

   tmp = sdfsdf + Trim(Str$(ii))

   doc All Item( uid ) focus

   SendKeys tmp

   SendKeys enter

   End If

  首先判断是否是注册入口页面 通过InStr(doc body innerText 寻找一个新的用户名 ) > 语句实现 doc body innerText即取得了该页面中的所有文字 如果是则构造一个用户名

  doc All Item( uid ) focus使用户名文本框取得焦点 其中uid是该文本框的ID 这个ID的取得是通过查看HTML源代码得到的 所以要求对HTML标记语言有所了解 使用户名文本框取得焦点之后通过SendKeys函数模拟键盘向文本框发送tmp字符串 这样用户名即填写完成 之后发送回车键提交表单 关于SendKeys函数的使用大家可查阅MSDN帮助

  第二个条件语句首先判断改页面是否是个人资料填写页面 然后填写个人资料 其方法同填写用户名一致 取得个文本框的ID后填写其值 最后提交表单

  最后一个条件语句判断邮箱注册成功后将ii加一 然后将页面重新定位到注册入口页面 至此一个循环完成

cha138/Article/program/net/201311/13193

相关参考

知识大全 VB.NET 中的组件开发源代码剖析

VB.NET中的组件开发源代码剖析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!         

知识大全 用VB.NET为智能设备编写半自动初始化类

用VB.NET为智能设备编写半自动初始化类  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!一引言  

知识大全 asp根据表单自动生成sql语句的函数

  每次在操作数据库的时候最烦的就是根据表单提交的内容写sql语句特别是字段比较多的时候很麻烦动不动就容易写错所以我就写了下面的生成sql语句的函数用了用觉得还可以  程序代码  <%=====

知识大全 高级表单验证-针对多次提交表单

每个开发人员面对的困难是预测用户能够或是将要做什么这对于网络开发人员来说就更为困难因为他的预测必须考虑到Web的多样性和缺乏真正的session控制机制如果你已经创建过一个使用表单的ASP应用程序也许

知识大全 在表单提交前进行验证的几种方式整理

为了减轻后台压力可以利用JavaScript在表单提交前对表单数据进行验证本文整理了常用的几种方式有需求的朋友可以参考下   在表单提交前进行验证的几种方式在Django中为了减轻后台压力可

知识大全 asp中get post提交表单区别

  asp教程中getpost提交表单区别  Get和Post方式的区别有点  get是从服务器上获取数据post是向服务器传送数据  get是把参数数据队列加到提交表单的ACTION属性所指的URL

知识大全 asp.net表单提交方法GETPOST

asp.net表单提交方法GETPOST  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  表单fo

知识大全 表单内容提交到邮箱

cha138/Article/program/Java/JSP/201311/19558

知识大全 Javascript中CTRL+回车提交表单

Javascript中CTRL+回车提交表单  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!<

知识大全 PHP检查表单提交是否来自于本站

PHP检查表单提交是否来自于本站  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!lishixinzh