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.

VBA SELENIUM - HIPERLINKS FINDBYTAG('A') - FRAGMENTANDO LINKS

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.
MatheusNNeri
Acabou de chegar
Acabou de chegar
Mensagens: 3
Registrado em: Ter Nov 30, 2021 7:31 am

VBA SELENIUM - HIPERLINKS FINDBYTAG('A') - FRAGMENTANDO LINKS

Mensagem por MatheusNNeri »

Boa tarde a todos.

Estou desenvolvendo um projeto para minha empresa no qual eu preciso clicar em um botão que contem um hyperlink, porém este elemento não foi bem definido em sua programação. Segue abaixo a inspeção do elemento:
inspeção do elemento desejado
inspeção do elemento desejado
erro3.PNG (15.29 KiB) Exibido 700 vezes
Logo, utilizando o webdriver selenium com python consegui desenvolver o programa da seguinte forma:
código em python
código em python
erro4.PNG (27.24 KiB) Exibido 699 vezes
Porém, meu projeto consiste em transformar o script em python para uma macro VBA. Na macro, o programa se encontra da seguinte maneira:
código em VBA
código em VBA
erro2.PNG (17 KiB) Exibido 700 vezes
Sendo que o resultado na verificação imediata é apresentado a seguir:
Output do código VBA
Output do código VBA
erro1.PNG (120.12 KiB) Exibido 700 vezes
Como podemos ver, o programa VBA está extraindo os links de forma errada, pois ele está quebrando o link com o id do material em varios links com id em ordem crescente. Como posso corrigir este erro, onde o VBA consegue extrair os links corretamente sem quebrar o link em diversos IDs?

Agradeço atenção de todos


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.


Raygsson
Manda bem
Manda bem
Mensagens: 117
Registrado em: Sex Jan 31, 2020 8:06 pm

Re: VBA SELENIUM - HIPERLINKS FINDBYTAG('A') - FRAGMENTANDO LINKS

Mensagem por Raygsson »

Você esta complicando algo simples rs
Seguem exemplos em Python e VBA

Código: Selecionar todos

#Pyhton

link = driver.find_element_by_xpath("//a[contains(@href, 'GeraLaudo')]").get_attribute("href")
driver.get(link)

#VBA

link = driver.FindElementByXPath("//a[contains(@href, 'GeraLaudo')]").Attribute("href")
driver.Get link



MatheusNNeri
Acabou de chegar
Acabou de chegar
Mensagens: 3
Registrado em: Ter Nov 30, 2021 7:31 am

Re: VBA SELENIUM - HIPERLINKS FINDBYTAG('A') - FRAGMENTANDO LINKS

Mensagem por MatheusNNeri »

Agradeço sua resposta. O que complica na realidade é a forma como foi desenvolvido o site.
Além da string "GeraLaudo" eu preciso verificar se o id do material corresponde. Essa parte do programa eu já consegui consertar, porém empaquei no seguinte problema, será que consegue me ajudar?

o programa está da seguinte maneira:

Código: Selecionar todos

    plataforma.Refresh
    Application.Wait (Now + TimeValue("00:00:05"))
    Set allLinks = plataforma.FindElementsByTag("a")
    For Each link2 In allLinks:
        link = link2.Attribute("href")
        Debug.Print link
        compara = InStr(1, link, idmaterial, vbTextCompare)
        Debug.Print idmaterial
        Debug.Print compara
    Next
e a saída do debug.print é a vista na imagem em anexo abaixo.
print1.PNG
print1.PNG (10.5 KiB) Exibido 648 vezes
Como eu consigo fazer com que seja checado o idmaterial dentro do link, dessa maneira podendo pegar o link que corresponda ao link que desejo?
Minha ideia é colocar a variavel "compara" como condição de um If, mas por algum motivo a função InStr não está retornando corretamente.


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