比较有挑战性的填表难题 高手快来围观..............
Private Sub Command2_Click()
WebBrowser1.Document.getElementByID("iptUser").Value = "用户名"
WebBrowser1.Document.getElementByID("iptPwd").Value = "密码"
WebBrowser1.Document.getElementByID("enter.x").Click '//登陆
End Sub
Private Sub Form_Load()
Command2.Enabled = False
WebBrowser1.Navigate2 "http://www.szsofttel.com"
WebBrowser1.Navigate2 "http://www.126.com"
End Sub
Private Sub Form_Resize()
On Error Resume Next
WebBrowser1.Move 50, WebBrowser1.Top, Me.ScaleWidth - 100, Me.ScaleHeight - WebBrowser1.Top
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
If URL <> "about:blank" And URL <> "" And URL <> "http:///" Then
Command2.Enabled = True
End If
End Sub
上面是一段可以自动登陆邮箱的代码
但是当 其他的填表
标签的ID name 都是加密数据 还有什么办法可以突破呢
<a href="javascript:void(0);" class="bt">Check Availability</a>
</div>
<fieldset>
<label for="p82cc9d0d20aae1b5a21054e2d3b09494">* Your login: </label>
<input validator="required min6 max19 login" maxlength="19" name="p82cc9d0d20aae1b5a21054e2d3b09494" id="p82cc9d0d20aae1b5a21054e2d3b09494" type="text" value="" />
<span class="control"> </span>
<span class="error">Empty or invalid field</span>
</fieldset>
your login 后面的 ID name都是加密的
如何填写这样的表单呢?
[解决办法]
如果是仅就这一段HTML文档,按id="p82cc9d0d20aae1b5a21054e2d3b09494"表仍能填.
[解决办法]
只给思路,具体自己去实现。
1.首先使用inet得到网页源码,得到<input validator="required min6 max19 login" maxlength="19" name="开始到之后的第一个引号位置的值设为kName:p82cc9d0d20aae1b5a21054e2d3b09494
2.遍历整个WebBrowser1.Document中的input对象,判断input.name=kName,则填入数据。
3.完
希望能给你一些启示
[解决办法]
方式方法很多,但是不知道对你适用不。可以根据他上面的结点包含Your login: 这个字符传的特性来定位这个结点。也就是说,找innertext包含Your login: 的结点,然后找NEXTNODE就能定位到需要的结点。也可以根据结点的maxlength属性值为19来确定这个结点。也可以……很多了。定位嘛,不一定用名称或ID,用其他属性一样可以,如果他的父结点有什么特殊的地方,兄弟结点有什么特殊的地方都可以用来定位。
[解决办法]
getElementByTagName ("input")