Página 1 de 1

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

Enviado: Seg Abr 13, 2020 7:47 pm
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

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

Enviado: Qua Abr 15, 2020 10:36 am
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!

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

Enviado: Qua Abr 15, 2020 6:26 pm
por pedrodssj
E pra jogar os links para a planilha, exatamente como o que ocorre no internet controls? qual funçao eu uso?

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

Enviado: Qui Abr 16, 2020 10:28 pm
por pedrodssj
eu não estou conseguindo colocar na planilha,me ajuda por favor!!!

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

Enviado: Sáb Abr 18, 2020 7:37 pm
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