0

我正在填写一个网络表单,其中有一个内置的预加载器动画(不会影响浏览器状态),我试图让我的脚本等待它消失,然后才继续填写字段.

目前我正在使用这段代码:

 Do
      Set el = Nothing
      On Error Resume Next
      Set el = objIE.document.getElementsByClassName("preloader__loader")(0)
        On Error GoTo 0
        DoEvents
        Sleep 2000
    Loop While Not (el Is Nothing)

    objIE.document.getElementsByName("button_submit")(0).Click

不知道为什么,但有时此代码无法正常工作并且未按下提交按钮(button_submit)。

我想尽可能避免等待语句,因为它们在页面加载缓慢的时候是不可靠的。

脚本是否有更好的方法来等待特定元素(在本例中为“preloader__loader”)消失?

先感谢您。

4

1 回答 1

0

所以,这就是我所做的,代码的第一部分正在等待 Preloader 出现,当它出现时,第二部分正在等待 Preloader 消失。

这个解决方案现在似乎工作得很好,如果页面加载速度比预期的慢,我希望不会有任何其他问题:)

      Do
        Set el = Nothing
        On Error Resume Next
        Set el = objIE.document.getElementsByClassName("preloader__loader")(0)
        On Error GoTo 0
        DoEvents
        Sleep 500
    Loop While el Is Nothing

      Do
        Set el = Nothing
        On Error Resume Next
        Set el = objIE.document.getElementsByClassName("preloader__loader")(0)
        On Error GoTo 0
        DoEvents
        Sleep 500
    Loop While Not (el Is Nothing)
于 2018-02-15T13:15:28.103 回答