Arquivo da categoria: Web

Opiniões sobre tendências e o que anda acontecendo com este mundo desconhecido que é a internet, se é que isso é possível!

Selenium VBA – Tirando um screenshot da página

Dica rápida, eu juro!

O código está aqui:

Sub teste()
Dim driver As WebDriver
Dim screenShot As Image
Set driver = New ChromeDriver
 
driver.Get "https://www.tomasvasquez.com.br/forum"
Set screenShot = driver.TakeScreenshot(1000)
screenShot.SaveAs ("C:\Temp\selenium\screenShot.jpg")
 
driver.Quit
End Sub

Vídeo – Extraindo tabelas de páginas web com Selenium VBA:
https://www.youtube.com/watch?v=1RPs8NTp9ig

Vídeos relacionados:

Migrando para o Selenium VBA
https://www.youtube.com/watch?v=QZwOcODYFBg

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

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

Links

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

Acesse também

BLOG ► https://www.tomasvasquez.com.br/blog/
FÓRUM ► http://www.tomasvasquez.com.br/forum/
CURSO ONLINE DE C# ► http://www.tomasvasquez.com.br/cursocsharp

Aqui também!

FACEBOOK ► https://www.facebook.com/tomasvaquezsites
TWITTER ► https://twitter.com/tomamais
GOOGLE+ ► https://plus.google.com/+TomasvasquezBr/

Roteiro, apresentação, edição, etc, etc ► eu mesmo 🙂

Selenium VBA – Encontrando facilmente elementos na página (XPath)

Está difícil encontrar um elemento na página utilizando Selenium? Calma que tem um jeito bem fácil de resolver esse problema!

O código está aqui:

Sub PegaHorario()
Dim driver As WebDriver
Dim valor As WebElement
Set driver = New ChromeDriver
driver.Get "https://www.cinemark.com.br/florianopolis/cinemas"
'Application.Wait (Now + TimeValue("H:MM:SS"))
Application.Wait (Now + TimeValue("0:00:03"))
Set valor = driver.FindElementByXPath("/html/body/main/section/div/div/div/div[1]/section/div/div/div[2]/div[1]/div/div[1]/div[7]/ul/li/ul[3]/li/span", 5)
MsgBox valor.Text
driver.Quit
End Sub

XPath pelo W3Schools ► https://www.w3schools.com/xml/xml_xpath.asp

Post no Fórum ► http://www.tomasvasquez.com.br/forum/viewtopic.php?f=20&t=5686&p=23034#p23034

Vídeo – Extraindo tabelas de páginas web com Selenium VBA:
https://www.youtube.com/watch?v=1RPs8NTp9ig

Vídeos relacionados:

Migrando para o Selenium VBA
https://www.youtube.com/watch?v=QZwOcODYFBg

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

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

Links

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

Acesse também

BLOG ► https://www.tomasvasquez.com.br/blog/
FÓRUM ► http://www.tomasvasquez.com.br/forum/
CURSO ONLINE DE C# ► http://www.tomasvasquez.com.br/cursocsharp

Aqui também!

FACEBOOK ► https://www.facebook.com/tomasvaquezsites
TWITTER ► https://twitter.com/tomamais
GOOGLE+ ► https://plus.google.com/+TomasvasquezBr/

Roteiro, apresentação, edição, etc, etc ► eu mesmo 🙂

Selenium VBA – Como extrair dados de frames

Pois é, Selenium, olha ele aqui de novo. Fazer o quê? Nos o amamos! 🙂

Eis mais uma dúvida que assola o pessoal que se aventura a brincar com Selenium e dá de cara com sites pra lá de complicados. E claro, quando aparecem os frames… bem, sorte sua! No vídeo abaixo demonstro como fazer para extrair os dados de um site com frames, no caso, meu antigo site (muita vergonha aqui).

Confira o vídeo e logo abaixo o código utilizado:

Public Sub ObterDadosDoMeuSiteAntigo()
    Dim driver As New ChromeDriver
 
    driver.Get "http://www.tomasvasquez.com.br/_index.htm"
 
    Debug.Print "Frames encontrados no documento pai: " & driver.FindElementsByTag("frame").Count
 
    Call driver.SwitchToFrame("principal")
 
    Debug.Print "Frames encontrados no frame principal: " & driver.FindElementsByTag("frame").Count
 
    Dim itens As WebElements, item As WebElement
    Set itens = driver.FindElementsByTag("li")
 
    Debug.Print "Itens encontrados:"
    For Each item In itens
        Debug.Print item.Text
    Next item
 
    driver.SwitchToDefaultContent
 
    Debug.Print "Frames encontrados no documento pai: " & driver.FindElementsByTag("frame").Count
 
    driver.Quit
End Sub

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/