Não foi possível retirar o atraso codificado do meu script

Eu escrevi um script em vba em combinação com selênio para analisar todos os nomes de empresas disponíveis em uma página da web. A página da web tem o método de carregamento lento ativo, portanto, apenas 20 links ficam visíveis em cada rolagem. Se eu rolar 2 vezes, o número de links visíveis é 40 e assim por diante. Existem 1000 links disponíveis nessa página da web. Meu script abaixo pode chegar ao final dessa página, manipular todo o pergaminho e buscar todos os nomes disponíveis nessa página da web.

No entanto, é necessário aguardar um certo tempo após cada rolagem para que a página atualize o conteúdo. Aqui é onde eu useihardcoded delay mas o processo de codificação é muito inconsistente e, às vezes, faz com que o navegador saia antes da conclusão de toda a operação.

Como posso modificar esta parte.Wait 6000 para fazer issoExplicit Wait ao invés deHardcoded Wait.

Isto é o que eu escrevi até agora:

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

questionAnswers(6)

yourAnswerToTheQuestion