ブラウザの待機処理がうまくいかない場合の対処方法には「ズバリ」の解決策が無い

VBAのIE操作とかでブラウザ待機処理はこんなに書きますが、
その先の処理でまぁエラーが出る。

Do While objIE.Busy Or objIE.readyState <> READYSTATE_COMPLETE
    DoEvents
Loop

どうやら一瞬READYSTATE_COMPLETEでるけど読み終わってないとか
いろいろ原因があるみたいだけど、環境依存みたい。

数回チェックいれたり

For i = 0 To retryCount
    Do While objIE.Busy Or objIE.readyState <> READYSTATE_COMPLETE
        DoEvents
    Loop
    
    Sleep 100
Next

次の画面にあるオブジェクトにサワれるようになるまで無限ループさせたり、泥臭い対策するっきゃないみたい。

Do
    Set obj = Nothing
    On Error Resume Next
    Set obj = objIE.getElementById("nameInput")
    On Error GoTo 0
Loop While obj Is Nothing

しかたなくSleepいれてごまかすしかないシチュエーションもありそう。