[问题] vba 网页资料 excelWB 错误

楼主: waiter337 (给开司一罐苏格登)   2016-12-24 09:02:18
假设说,我用vba近入了某网页
网页上面的资料需要输入日期查寻
我将日期都填入后
找出type="submit" 开始搜索资料
接着本该是资料会先列出来
然后
excelWB 17,0
excelWB 12,2
会将网页上的所有资料给copy出来
(一般网页教学大致上是这样)
但很奇怪的是
.
顺序却变成
在资料还在搜寻没完成时
就全选拷贝了
.
最终贴上工作表的资料只有一开始还没搜寻的时候
.
.
而我做了一个测试
我在 MyBrowser.ExecWB 17, 0 'Select All 这行
放了一个中断点暂停一下
.
然后继续跑
资料就正常的出现搜寻后的资料了
求高手指点
.
.
.
.
(以上登入IE帐密跟设定网页部份恕删)
Set MyBrowser = New InternetExplorer
MyBrowser.Silent = True
MyBrowser.navigate MyURL
MyBrowser.Visible = True
Do
Loop Until MyBrowser.readyState = READYSTATE_COMPLETE
Set HTMLDoc = MyBrowser.document
HTMLDoc.all.Email.Value = 帐号 'Enter your email id here
HTMLDoc.all.passwd.Value = 密码 'Enter your password here
For Each MyHTML_Element In HTMLDoc.getElementsByTagName("input")
If MyHTML_Element.Type = "submit" Then
MyHTML_Element.Click: Exit For
End If
Next
Do While MyBrowser.readyState = 4 '等待网页开启
DoEvents
Loop
MyBrowser.navigate MyURL
MyBrowser.Visible = True
Do
Loop Until MyBrowser.readyState = READYSTATE_COMPLETE
Set HTMLDoc = MyBrowser.document
Set HTMLDoc = MyBrowser.document
HTMLDoc.all.txtsdate.Value = 开始日期
HTMLDoc.all.txtedate.Value = 结束日期
For Each MyHTML_Element In HTMLDoc.getElementsByTagName("input")
If MyHTML_Element.Type = "submit" Then
MyHTML_Element.Click: Exit For
End If
Next
Do While MyBrowser.readyState = 4 '等待网页开启
DoEvents
Loop
'
作者: soyoso (我是耀宗)   2016-12-24 10:10:00
mybrowser.busy、application.wait…等试试
楼主: waiter337 (给开司一罐苏格登)   2016-12-24 10:23:00
你太强了 200p附上
作者: soyoso (我是耀宗)   2016-12-24 21:06:00
alert的方面,版本之前有一篇#1NTynmw0看看是否可协助到
作者: Linkey (Linkey)   2016-12-25 11:13:00
application.wait(now()+timeserial(hh:mm:ss))加在sendkeys前面,应该只需要送出Enter 不需要Tab

Links booklink

Contact Us: admin [ a t ] ucptt.com