Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Extrair todos os hyperlinks de um site com selenium?[RESOLVIDO]

A Web está aí, não há como negar. Ela é onipresente em praticamente toda operação eletrônica realizada nos dias de hoje. Como não podia ser diferente, o Excel, ferramenta máxima para analistas e profissionais das mais diversas áreas do mercado precisa estar alinhado com esta necesssidade. E ele está! Neste forum, o debate é focado em expor dúvidas, sugestões, modelos de código e exemplos de uso do Excel na Integração com tecnologias Web.
pedrodssj
Colaborador
Colaborador
Mensagens: 18
Registrado em: Qua Nov 06, 2019 2:56 pm

Extrair todos os hyperlinks de um site com selenium?[RESOLVIDO]

Mensagem por pedrodssj »

como faço?

Com internet Controls e assim:
me ajudem a converter este codigo a baixo para selenium!

Código: Selecionar todos

Sub scrapeHyperlinksWebsite()

Dim ie As InternetExplorer
Dim html As HTMLDocument
Dim ElementCol As Object
Dim ElementCol1 As Object
Dim Link As Object
Dim erow As Long
Application.ScreenUpdating = False
Set ie = New InternetExplorer
ie.Visible = False
ie.navigate "https://www.academiadasapostasbrasil.com/"


Do While ie.readyState <> READYSTATE_COMPLETE
DoEvents
Loop

Set html = ie.document

'Range("A1") = html.DocumentElement.innerHTML

Set ElementCol = html.getElementsByTagName("a")

For Each Link In ElementCol
erow = Worksheets("planilha1").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
Cells(erow, 1).Value = Link
Cells(erow, 1).Columns.AutoFit
Next


Set ie = Nothing
Application.StatusBar = ""
Application.ScreenUpdating = True

End Sub
Editado pela última vez por pedrodssj em Sáb Abr 18, 2020 7:35 pm, em um total de 1 vez.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Extrair todos os hyperlinks de um site com selenium?

Mensagem por webmaster »

Código: Selecionar todos

Sub selenium_scrapeHyperlinksWebsite()
    Dim driver As WebDriver: Set driver = New ChromeDriver
    Dim todosOsLinks As WebElements, linkUnico As WebElement
    driver.Get "https://www.academiadasapostasbrasil.com/"
    
    Set todosOsLinks = driver.FindElementsByTag("a")
    
    For Each linkUnico In todosOsLinks
        Debug.Print linkUnico.Attribute("href")
    Next linkUnico
End Sub
Adapte como quiser!


pedrodssj
Colaborador
Colaborador
Mensagens: 18
Registrado em: Qua Nov 06, 2019 2:56 pm

Re: Extrair todos os hyperlinks de um site com selenium?

Mensagem por pedrodssj »

E pra jogar os links para a planilha, exatamente como o que ocorre no internet controls? qual funçao eu uso?


pedrodssj
Colaborador
Colaborador
Mensagens: 18
Registrado em: Qua Nov 06, 2019 2:56 pm

Re: Extrair todos os hyperlinks de um site com selenium?

Mensagem por pedrodssj »

eu não estou conseguindo colocar na planilha,me ajuda por favor!!!


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


pedrodssj
Colaborador
Colaborador
Mensagens: 18
Registrado em: Qua Nov 06, 2019 2:56 pm

Re: Extrair todos os hyperlinks de um site com selenium?[RESOLVIDO]

Mensagem por pedrodssj »

galera acrescente este codigo para jogar para dentro da planilha

Código: Selecionar todos

 For Each linkUnico In todosOsLinks
        ActiveCell.Offset(0, 1).Value = linkUnico.Attribute("href")
        ActiveCell.Offset(1, 0).Select
    Next linkUnico

e vai ficar assim

Código: Selecionar todos

Sub selenium_scrapeHyperlinksWebsite()
 
 
    Application.ScreenUpdating = False
    Application.Calculation = xlManual


    Dim driver As WebDriver: Set driver = New ChromeDriver
    Dim todosOsLinks As WebElements, linkUnico As WebElement
    driver.Get "https://www.academiadasapostasbrasil.com/"
    Range("B2").Select
    
        'While Busy
        'Application.Wait TimeSerial(Hour(Now), Minute(Now), Second(Now) + 1)
        'DoEvents:
        'Wend
       
    driver.FindElementByClass("toggle-livescores-menu").Click
    driver.FindElementByXPath("//div[@id='main-container']/div[3]/div[2]/div[3]/div/div[2]/div[3]/div/a[2]/span").Click
    driver.FindElementByClass("toggle-livescores-menu").Click
         
    Application.Wait Now + TimeValue("00:00:05")
     
    Set todosOsLinks = driver.FindElementsByTag("a")
    
     
    
    For Each linkUnico In todosOsLinks
        ActiveCell.Offset(0, 1).Value = linkUnico.Attribute("href")
        ActiveCell.Offset(1, 0).Select
    Next linkUnico
    
    
    Application.ScreenUpdating = True
    Application.Calculation = xlAutomatic

    
End Sub


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder