Selenium – Atualizando o ChromeDriver automaticamente com VBA

A macro abaixo faz a atualização do Selenium ChromeDriver usando apenas o VBA:

Sub DownloadChromeDriver()
    Dim url As String
    Dim fileName As String
    Dim req As Object
    Dim stream As Object
    
    ' Define a URL e nome de arquivo para a última versão do ChromeDriver
    url = "https://chromedriver.storage.googleapis.com/LATEST_RELEASE"
    fileName = "chromedriver.zip"

    ' Faz uma solicitação HTTP para obter o número da última versão do ChromeDriver
    Set req = CreateObject("MSXML2.XMLHTTP")
    req.Open "GET", url, False
    req.Send

    ' Obtém o número da última versão do ChromeDriver a partir da resposta
    Dim latestVersion As String
    latestVersion = req.responseText

    ' Constrói a URL para o binário do ChromeDriver com base no número da versão
    url = "https://chromedriver.storage.googleapis.com/" & latestVersion & "/chromedriver_win32.zip"

    ' Faz uma solicitação HTTP para baixar o binário do ChromeDriver
    req.Open "GET", url, False
    req.Send

    ' Salva o binário baixado no disco
    Set stream = CreateObject("ADODB.Stream")
    stream.Type = 1 ' Binário
    stream.Open
    stream.Write req.responseBody
    stream.SaveToFile fileName, 2 ' Sobrescrever arquivo existente
    stream.Close

    ' Extrai o binário baixado para uma localização conhecida em seu computador
    Dim zipFilePath As Variant
    zipFilePath = ActiveWorkbook.Path & "\" & fileName
    Dim extractPath As Variant
    extractPath = Environ("userprofile") & "\AppData\Local\SeleniumBasic"

    Set objShell = CreateObject("Shell.Application")
    Set objSource = objShell.Namespace(zipFilePath).Items()
    Set objTarget = objShell.Namespace(extractPath)

    objTarget.CopyHere objSource, 16

    MsgBox "Versão do ChromeDriver " & latestVersion & " instalada com sucesso."

End Sub

A explicação de como ela funciona pode ser vista no vídeo abaixo:

Comentários

comentários

Deixe uma resposta