Extraindo tabelas de páginas Web com o Selenium Basic

E lá vai mais um vídeo tutorial de Selenium Basic, esse que parece ser o mais querido assunto desta comunidade de VBA, e o meu também. 🙂

Em complemento ao vídeo anterior e atendendo a alguns pedidos, aqui mostro como extrair um elemento de tabela de dentro de uma página web, algo que deve cobrir 90% do uso que se faz do Selenium.

Mais detalhes no vídeo:

E claro, o código:

Dim driver As WebDriver
 
Sub ExtrairTabelaDaPagina()
    Set driver = New ChromeDriver
    Dim destino As Range
    Set destino = Range("A1")
 
    driver.Get "https://github.com/florentbr/SeleniumBasic"
 
    Dim tabela As WebElement
 
    Set tabela = driver.FindElementByXPath("//div[@id='js-repo-pjax-container']/div[2]/div/div[6]/table")
 
    If tabela Is Nothing Then
        MsgBox "Elemento não encontrado"
    Else
        tabela.AsTable.ToExcel destino
    End If
 
    driver.Quit
End Sub

Bom proveito!

Vídeo – Migrando para o Selenium VBA

É, o Selenium fez barulho na comunidade do VBA. Pelo menos isso foi o que deu pra sentir, refletido tanto em questões no fórum, como em comentários no youtube e pedidos de serviço.

O fato é que o selenium tem crescido muito enquanto biblioteca e não só para o VBA. Tudo está muito bem explicado numa série de vídeos que gravei, de comentários a tutoriais (links no fim do artigo).

Por fim, como um auxílio para a migração do SeleniumVBA para o SeleniumBasic, explicado no vídeo “Selenium Basic Já”, gravei mais um tutorial com uma pincelada no código utilizando a nova biblioteca, que você confere abaixo:

Abaixo também segue o código utilizado para referência.

Dim driver As WebDriver
 
Sub ConsultaODolar()
    Set driver = New ChromeDriver
 
    driver.Get "http://www.dolarhoje.com"
 
    Dim nacional As WebElement
    Set nacional = driver.FindElementById("nacional")
 
    If nacional Is Nothing Then
        MsgBox "Elemento não encontrado"
    Else
        MsgBox nacional.Value
    End If
 
    driver.Quit
End Sub
 
Sub VaiProGoogle()
    Set driver = New ChromeDriver
 
    driver.Get "http://www.google.com"
    Application.Wait Now + TimeValue("00:00:01")
 
    Dim busca As WebElement, form As WebElement
    Set busca = driver.FindElementById("lst-ib")
    Set form = driver.FindElementById("tsf")
 
    If Not busca Is Nothing Then
        busca.SendKeys InputBox("Sua busca", "Google", "")
        form.Submit
    Else
        MsgBox "Elemento não encontrado"
    End If
End Sub

Bom proveito!

Usando o Selenium VBA para extrair informações da Web
https://www.youtube.com/watch?v=hk-65p2ivvQ&t=47s

Atualizando o ChromeDriver manualmente para o SeleniumBasic
https://www.youtube.com/watch?v=8fFnr-hmTW8

Selenium Basic já!
https://www.youtube.com/watch?v=WLP7QqgS8CA

Outros Links

SeleniumBasic
https://florentbr.github.io/SeleniumBasic/

ChromeDriver
https://sites.google.com/a/chromium.org/chromedriver/

Vídeos – Drops no Youtube

Queridos leitores/telespectadores.

Para aqueles que estão se sentindo abandonados pela falta de conteúdos neste pequeno blog, informo que tenho dedicado mais atenção recentemente no canal do Youtube. Isso não significa que estou abandonando o blog. Mas é evidente que o novo formato de mídia que vai dominar os conteúdos na internet são os vídeos. Há conteúdos que cabem em texto, outros em vídeos, ou em ambos.

Para quem quiser acompanhar as novidades, recomendo que assine o canal de vídeos no Youtube pelo link abaixo:

https://www.youtube.com/channel/UCsttvtY8_1bG-wpbxVm9UPA?sub_confirmation=1

Dúvidas, sugestões, choros ou lamentações, a área de comentários está aí para isso!

Abraços!

Technology, Education and whatever else

css.php