vbs自动填表单分析附源码
dim ie
set ie=createobject("internetexplorer.application")
ie.visible=true
ie.navigate "http://www.ln.chinaunicom.com/index.shtml"
While ie.busy or ie.readystate<>4
EndWhile
ie.document.all("userid").value= "13304948957"'手机号码
ie.document.all("passwd").value = "111111"'密码
ie.document.all("verifycode").value = "1111"'识别码
ie.document.all.loginOnForm.submit
一调试脚本就显示 缺少对象:"ie.document.all("....")"
"ie.document.all.loginOnForm.submit"这行还显示对象不支持此属性或者方法
请各位大侠帮忙看看 哪里出了错 谢谢啦
提问者: fxdca2008 - 试用期 一级
最佳答案
楼主代码有几处错误:
1. EndWhile应为Wend
2. 网页上的手机号码、密码等表单元域其实是在一个<iFrame>中的网页上,不能直接调用,而应该使
用ie.document.frames(0).document.loginOnForm...来调用
正确代码如下(可以自动填写交提交,提交上去以后会返回“识别码错误”的提示,属于正常现象)
:
Sub test()
Dim ie
Set ie = CreateObject("internetexplorer.application")
ie.Visible = True
ie.navigate "http://www.ln.chinaunicom.com/index.shtml"
While ie.busy Or ie.readystate <> 4
Wend
ie.document.frames(0).document.loginonform.UserId.Value = "13304948957" '手机号码
ie.document.frames(0).document.loginonform.passwd.Value = "111111" '密码
ie.document.frames(0).document.loginonform.verifycode.Value = "1111" '识别码
ie.document.frames(0).document.loginonform.submit
End Sub