No se puede quitar el retraso codificado de mi script

He escrito un script en vba en combinación con selenio para analizar todos los nombres de compañías disponibles en una página web. La página web tiene un método de carga diferida activo, por lo que solo hay 20 enlaces visibles en cada desplazamiento. Si me desplazo 2 veces, el número de enlaces visibles es 40 y así sucesivamente. Hay 1000 enlaces disponibles en esa página web. Mi script a continuación puede llegar al final de esa página manejando todos los desplazamientos y obtener todos los nombres disponibles en esa página web.

Sin embargo, es necesario esperar un cierto tiempo después de cada desplazamiento para que esa página web actualice el contenido. Aquí es donde he usadohardcoded delay pero el proceso de codificación es muy inconsistente y, a veces, hace que el navegador se cierre antes de completar toda la operación.

¿Cómo puedo modificar esta parte.Wait 6000 para hacerloExplicit Wait en lugar deHardcoded Wait.

Esto es lo que he escrito hasta ahora:

Sub Getlinks()
    Dim driver As New ChromeDriver, prevlen&, curlen&
    Dim posts As Object, post As Object

    With driver
        .get "http://fortune.com/fortune500/list/"
        prevlen = .FindElementsByClass("company-title").Count

        Do
            prevlen = curlen
            .ExecuteScript ("window.scrollTo(0, document.body.scrollHeight);")

            .Wait 6000  ''I like to kick out this hardcoded delay and use explicit wait in place

            Set posts = .FindElementsByClass("company-title")
            curlen = posts.Count
            If prevlen = curlen Then Exit Do
        Loop

        For Each post In posts
            R = R + 1: Cells(R, 1) = post.Text
        Next post
    End With
End Sub

Respuestas a la pregunta(6)

Su respuesta a la pregunta