ATENÇÃO NOVOS USUÁRIOS
Se registrou recentemente? Seu cadastro será avaliado e mendiante aprovação, a conta será ativada e você poderá usufruir do fórum. O tempo de avaliação gira em torno de 24 a 48 horas.
Esqueceu sua senha?
Você pode usar o mecanismo de lembrete neste link:
Recuperar senha
Você receberá um link de reativação no email cadastrado.
Não recebeu o email? Lembre-se checar o Lixo Eletrônico.
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

- Mensagens: 16
- Registrado em: Qua Nov 06, 2019 2:56 pm
Mensagem
por pedrodssj » Ter Jun 02, 2020 1:08 pm
para extrair todos os hyperlinks de um site eu ja sei,agora eu gostaria de extrair através de uma determinada classe, abaixo e um exemplo de como executar para extrair todos os hyperlinks:
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/stats/match/alemanha/bundesliga/colonia/rb-leipzig/3047279"
Range("B2").Select
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
End Sub
ai eu gostaria de extrair os hyperlinks desta classe:
Código: Selecionar todos
driver.getElementsByClassName("mobile_single_column")(7)
com protocolo http eu consigo extrair através de uma classe,exemplo abaixo:
Código: Selecionar todos
Sub GetVideoPage()
Dim XMLReq As New MSXML2.XMLHTTP60
Dim HTMLDoc As New MSHTML.HTMLDocument
Dim VidCatList As MSHTML.IHTMLElement
Dim VidCats As MSHTML.IHTMLElementCollection
Dim VidCat As MSHTML.IHTMLElement
Dim VidCatID As Integer
Dim NextHref As String
Dim NextURL As String
Range("A1").Select
XMLReq.Open "GET", "https://www.academiadasapostasbrasil.com/stats/match/alemanha/bundesliga/colonia/rb-leipzig/3047279", False
XMLReq.Send
If XMLReq.Status <> 200 Then
MsgBox "Problem" & vbNewLine & XMLReg.Status & "" - "" & XMLReq.statusText
Exit Sub
End If
HTMLDoc.body.innerHTML = XMLReq.responseText
Set XMLReq = Nothing
Set VidCatList = HTMLDoc.getElementsByClassName("mobile_single_column")(7)
Set VidCats = VidCatList.getElementsByTagName("a")
Debug.Print VidCats.Length
For VidCatID = 1 To VidCats.Length - 1
Set VidCat = VidCats(VidCatID)
ActiveCell.Offset(0, 1).Value = VidCat.getAttribute("href")
ActiveCell.Offset(1, 0).Select
', VidCat.getAttribute("href")
Next VidCatID
End Sub
[REMOVIDO]

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

- Mensagens: 16
- Registrado em: Qua Nov 06, 2019 2:56 pm
Mensagem
por pedrodssj » Qui Jun 04, 2020 3:27 pm
pedrodssj escreveu: ↑Ter Jun 02, 2020 1:08 pm
para extrair todos os hyperlinks de um site eu ja sei,agora eu gostaria de extrair através de uma determinada classe, abaixo e um exemplo de como executar para extrair todos os hyperlinks:
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/stats/match/alemanha/bundesliga/colonia/rb-leipzig/3047279"
Range("B2").Select
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
End Sub
ai eu gostaria de extrair os hyperlinks desta classe:
Código: Selecionar todos
driver.getElementsByClassName("mobile_single_column")(7)
com protocolo http eu consigo extrair através de uma classe,exemplo abaixo:
Código: Selecionar todos
Sub GetVideoPage()
Dim XMLReq As New MSXML2.XMLHTTP60
Dim HTMLDoc As New MSHTML.HTMLDocument
Dim VidCatList As MSHTML.IHTMLElement
Dim VidCats As MSHTML.IHTMLElementCollection
Dim VidCat As MSHTML.IHTMLElement
Dim VidCatID As Integer
Dim NextHref As String
Dim NextURL As String
Range("A1").Select
XMLReq.Open "GET", "https://www.academiadasapostasbrasil.com/stats/match/alemanha/bundesliga/colonia/rb-leipzig/3047279", False
XMLReq.Send
If XMLReq.Status <> 200 Then
MsgBox "Problem" & vbNewLine & XMLReg.Status & "" - "" & XMLReq.statusText
Exit Sub
End If
HTMLDoc.body.innerHTML = XMLReq.responseText
Set XMLReq = Nothing
Set VidCatList = HTMLDoc.getElementsByClassName("mobile_single_column")(7)
Set VidCats = VidCatList.getElementsByTagName("a")
Debug.Print VidCats.Length
For VidCatID = 1 To VidCats.Length - 1
Set VidCat = VidCats(VidCatID)
ActiveCell.Offset(0, 1).Value = VidCat.getAttribute("href")
ActiveCell.Offset(1, 0).Select
', VidCat.getAttribute("href")
Next VidCatID
End Sub
[REMOVIDO]
eu como faz para somente extrair os hyperlink da classe solicitada com selenium me ajudem por favor!!!!
-
Raygsson
- Colaborador

- Mensagens: 85
- Registrado em: Sex Jan 31, 2020 8:06 pm
Mensagem
por Raygsson » Ter Jun 09, 2020 10:47 pm
Desta forma:
Set todosOsLinks = driver.FindElementByClass("mobile_single_column").FindElementsByTag("a")
Trouxe isto:
Código: Selecionar todos
https://www.academiadasapostasbrasil.com/redirect/bet365/89339474/2582237/0
https://www.academiadasapostasbrasil.com/redirect/bet365/89339474/2582237/1
https://www.academiadasapostasbrasil.com/redirect/bet365/89339474/2582237/3
https://www.academiadasapostasbrasil.com/redirect/bet365/89339474/2582237/2
https://www.academiadasapostasbrasil.com/redirect/betfair/29816892/170531011/0
https://www.academiadasapostasbrasil.com/redirect/betfair/29816892/170531011/1
https://www.academiadasapostasbrasil.com/redirect/betfair/29816892/170531011/3
https://www.academiadasapostasbrasil.com/redirect/betfair/29816892/170531011/2
https://www.academiadasapostasbrasil.com/redirect/rivalo/30870280/30870280-0/0
https://www.academiadasapostasbrasil.com/redirect/rivalo/30870280/30870280-0/1
https://www.academiadasapostasbrasil.com/redirect/rivalo/30870280/30870280-0/3
https://www.academiadasapostasbrasil.com/redirect/rivalo/30870280/30870280-0/2
https://www.academiadasapostasbrasil.com/redirect/bet365/89339474/2582243/0
https://www.academiadasapostasbrasil.com/redirect/bet365/89339474/2582243/1
https://www.academiadasapostasbrasil.com/redirect/bet365/89339474/2582243/2
https://www.academiadasapostasbrasil.com/redirect/betfair/29816892/170531021/0
https://www.academiadasapostasbrasil.com/redirect/betfair/29816892/170531021/1
https://www.academiadasapostasbrasil.com/redirect/betfair/29816892/170531021/2
https://www.academiadasapostasbrasil.com/redirect/rivalo/30870280/30870280-1/0
https://www.academiadasapostasbrasil.com/redirect/rivalo/30870280/30870280-1/1
https://www.academiadasapostasbrasil.com/redirect/rivalo/30870280/30870280-1/2

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.