打开一个网页、填写表单、并提交为什么总出错(VB)

wjf598 2014-08-19 11:27:01

Private Sub Command1_Click()

WebB1.Navigate "https://abcd.net/def.jsp" '打开网页
While WebB1.Busy '等待加载,
text_tishi="正在加载……"
DoEvents
Sleep (2000) '这里好象没什么反应
Wend
'下面就出问题了,总提示
'实时错误:91 对象变量或with块变量未设置
'后来发现,其实就是网页没有完全加载下来
WebB1.Document.getelementbyid("PSWD").Value = "111111"
WebB1.Document.getelementbyid("form1_ok").Click
End Sub


测试时如果设置 断点 单步执行就不会出错,但全自动时就不行了。
求助:怎样才能真正的自动把网页加载完再执行最后两条语句?
...全文
292 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Carlven2012 2014-08-21
  • 打赏
  • 举报
回复
引用 5 楼 Tiger_Zhao 的回复:
[Quote=引用 3 楼 wjf598 的回复:]谢谢两位(Carlven2012和Topc008),完全解决了小第的问题, 只不过我的操作的实际网页是多个框架的页面,所以测试时弹出三四个提示窗口(我用的是MsgBox "提示"), 这个问题有没有好的办法解决,还望赐教! 有没有多个框架的页面完全加载后发生的事件呢? [/Quote] DocumentComplete() 的 URL 参数可以区分是哪一页。
就是,在里面加个条件判断就是了。
Tiger_Zhao 2014-08-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wjf598 的回复:]谢谢两位(Carlven2012和Topc008),完全解决了小第的问题,
只不过我的操作的实际网页是多个框架的页面,所以测试时弹出三四个提示窗口(我用的是MsgBox "提示"),
这个问题有没有好的办法解决,还望赐教!

有没有多个框架的页面完全加载后发生的事件呢? [/Quote]
DocumentComplete() 的 URL 参数可以区分是哪一页。
一如既往哈 2014-08-20
  • 打赏
  • 举报
回复
在主框架完成时 提示即可------不过有时页面遇到错误或人为终止后并不触发documentcomplete事件。 另外一条思路:加个定时器,判断目标元素是否存在,如果存在则填入相应的数据并提交
wjf598 2014-08-20
  • 打赏
  • 举报
回复
谢谢两位(Carlven2012和Topc008),完全解决了小第的问题, 只不过我的操作的实际网页是多个框架的页面,所以测试时弹出三四个提示窗口(我用的是MsgBox "提示"), 这个问题有没有好的办法解决,还望赐教! 有没有多个框架的页面完全加载后发生的事件呢?
Carlven2012 2014-08-19
  • 打赏
  • 举报
回复
Sleep (2000) '这里好象没什么反应 这句完全多余,可以删除。 另外把语句WebB1.Document.getelementbyid("PSWD").Value = "111111"写在DownloadComplete里面就能通过。
一如既往哈 2014-08-19
  • 打赏
  • 举报
回复
放在documentcomplete事件中即可。

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧