- 帖子
- 4
- 主題
- 1
- 精華
- 0
- 積分
- 2
- 點名
- 0
- 作業系統
- win 7
- 軟體版本
- excel 2013
- 閱讀權限
- 10
- 註冊時間
- 2019-8-13
- 最後登錄
- 2019-11-29
|
[發問] 請問vba要如何判斷網頁中的js的部份載入完成呢?
前輩們好
目前vba判斷網頁載入完成是用下方程式碼- timeOut = Now + TimeSerial(0, 0, 20) '頁面完全加載完成之前等待
- Do While objIE.Busy = True Or objIE.ReadyState <> 4 'Busy查網頁是否正在加載中,readystate查IE對象的文檔的加載狀態
- DoEvents
- Sleep 1
- If Now > timeOut Then
- objIE.Refresh
- timeOut = Now + TimeSerial(0, 0, 20)
- End If
- Loop
- timeOut = Now + TimeSerial(0, 0, 20)
- Do While objIE.Document.ReadyState <> "complete"
- DoEvents
- Sleep 1
- If Now > timeOut Then
- objIE.Refresh
- timeOut = Now + TimeSerial(0, 0, 20)
- End If
- Loop
複製代碼 這個部份沒有問題,但是當遇到網頁是有js的表單時,會有載入的時間4~10秒,要看每個人的電腦能力
但是用上面的程式碼沒有做用
所以想問問前輩們,是否有別的方式可以判斷
我用了IsObject(objIE.Document.getElementById("noodle-page-title")) = True來判斷是否有指定的id出現了
不過沒想到js好像是就已先有html碼,只是還沒加載出來???
目前只能用Application.Wait (Now + TimeValue("00:00:07"))來延長時間
但不是一個好方式,因為常常會有幾台電腦要更久的時間 |
|