Board logo

標題: [發問] 請問vba要如何判斷網頁中的js的部份載入完成呢? [打印本頁]

作者: waitelee    時間: 2019-11-29 09:41     標題: 請問vba要如何判斷網頁中的js的部份載入完成呢?

前輩們好
目前vba判斷網頁載入完成是用下方程式碼
  1. timeOut = Now + TimeSerial(0, 0, 20)        '頁面完全加載完成之前等待
  2.         Do While objIE.Busy = True Or objIE.ReadyState <> 4  'Busy查網頁是否正在加載中,readystate查IE對象的文檔的加載狀態
  3.             DoEvents
  4.             Sleep 1
  5.             If Now > timeOut Then
  6.                 objIE.Refresh
  7.                 timeOut = Now + TimeSerial(0, 0, 20)
  8.             End If
  9.         Loop
  10.         timeOut = Now + TimeSerial(0, 0, 20)
  11.         Do While objIE.Document.ReadyState <> "complete"
  12.             DoEvents
  13.             Sleep 1
  14.             If Now > timeOut Then
  15.                 objIE.Refresh
  16.                 timeOut = Now + TimeSerial(0, 0, 20)
  17.              End If
  18.         Loop
複製代碼
這個部份沒有問題,但是當遇到網頁是有js的表單時,會有載入的時間4~10秒,要看每個人的電腦能力
但是用上面的程式碼沒有做用
所以想問問前輩們,是否有別的方式可以判斷
我用了IsObject(objIE.Document.getElementById("noodle-page-title")) = True來判斷是否有指定的id出現了
不過沒想到js好像是就已先有html碼,只是還沒加載出來???
目前只能用Application.Wait (Now + TimeValue("00:00:07"))來延長時間
但不是一個好方式,因為常常會有幾台電腦要更久的時間




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)