所以我在Visual Basic中编写脚本来填写在线表单。我能够填写第一个表单,但在提交第一个表单后,页面刷新一个新表单,但Internet Explorer对象卡在前面的html上。我想如果我调用Location.reload()然后它将刷新html文档,但我无法弄清楚如何调用它。
Dim coName As String
Dim usrName As String
Dim pwd As String
Dim wb As SHDocVw.InternetExplorer
Set wb = New SHDocVw.InternetExplorer
wb.Visible = True
wb.Navigate("*************")
While wb.Busy
Wait 0.100
Wend
wb.Document.getElementById("txt_CID").Value = "*****"
wb.Document.getElementById("txt_UID").Value = "**********"
wb.Document.getElementById("txt_PWD").Value = "*****"
wb.Document.getElementById("btnLogin").Click()
wb.Visible = True
Wait 2 (..............New Page loads here..............)
wb.Document.getElementById("ContentPlaceHolder1_ddlTechID").Value = "IP3M-01"
最后一行给出错误:"不是对象引用"因为文件没有更新。
可悲的是,我必须使用vbscript,所以我需要弄清楚如何使这项工作。
更新: 我可以通过文档对象调用location.reload(),虽然微软的文档没有表明你可以这样做......
现在错误已经消失但我认为Internet Explorer浏览器对象仍然停留在以前的文档上...我知道如何解决这个问题的唯一方法就是调用wb.Navigate(" url&#34 ;)但这也清除了我试图自动化的形式。