Vídeo recomendado
https://youtu.be/Ju8Esra5--I
https://youtu.be/Ju8Esra5--I
SELENIUM VBA + DOWNLOAD DE ARQUIVOS
-
andre_oliv
- Acabou de chegar

- Mensagens: 4
- Registrado em: Ter Ago 16, 2022 7:56 am
SELENIUM VBA + DOWNLOAD DE ARQUIVOS
Pessoal, boa tarde!
Sou novo aqui no fórum.
Estou com dificuldade para a seguinte situação: preciso fazer um loop em uma tabela, onde cada linha da tabela tem um botão que ao clicar abre um menu com opções. Em cada linha preciso clicar no botão de ações e depois no de imprimir, porém, não estou conseguindo.
Em anexo segue o código da página.
Sou novo aqui no fórum.
Estou com dificuldade para a seguinte situação: preciso fazer um loop em uma tabela, onde cada linha da tabela tem um botão que ao clicar abre um menu com opções. Em cada linha preciso clicar no botão de ações e depois no de imprimir, porém, não estou conseguindo.
Em anexo segue o código da página.
- Anexos
-
- código da página.png (127.63 KiB) Exibido 20183 vezes
Re: SELENIUM VBA + DOWNLOAD DE ARQUIVOS
andre_oliv,
Até onde conseguiu chegar? Onde parou exatamente? A página é pública?
Até onde conseguiu chegar? Onde parou exatamente? A página é pública?
-
andre_oliv
- Acabou de chegar

- Mensagens: 4
- Registrado em: Ter Ago 16, 2022 7:56 am
Re: SELENIUM VBA + DOWNLOAD DE ARQUIVOS
Boa noite!
Estou preso na primeira linha da tabela, não consigo sair disso.
Cada página exibe uma tabela com 100 linhas.
Eu consigo contar as linhas mas não sei uma forma de fazer ir para a próxima.
A página não é pública. É um sistema ERP utilizado na empresa que trabalho.
Dim chrome As New ChromeDriver
Dim by As New selenium.by
Dim tbl As WebElement
Dim tbltr As WebElements
Dim act As selenium.TableRow
With chrome
'.AddArgument "--headless"
.SetPreference "download.default_directory", ThisWorkbook.Path
.SetPreference "download.directory_upgrade", True
.SetPreference "download.prompt_for_download", False
.SetPreference "safebrowsing.enabled", True
.SetPreference "plugins.plugins_disabled", Array("Chrome PDF Viewer")
.Start
.Window.Maximize
.Get "https://gestaoclick.com/contratos_servicos/?menu=MTAz"
.FindElementById("UsuarioEmail").SendKeys
.FindElementById("UsuarioSenha").SendKeys
.FindElementByCss(".bg-olive").Click
Set tbl = chrome.FindElementByXPath("//*[@id='form']/div/table")
rcount = tbl.FindElementsByTag("tr").Count
Debug.Print rcount
For I = 1 To rcount
'preso à primeira linha da tabela "tr[1], pois não sei uma forma de ir para a próxima linha
.FindElementByXPath("//*[@id='form']/div/table/tbody/tr[1]/td[9]/div/button").Click
.FindElementByLinkText("Imprimir PDF").Click
Next I
Estou preso na primeira linha da tabela, não consigo sair disso.
Cada página exibe uma tabela com 100 linhas.
Eu consigo contar as linhas mas não sei uma forma de fazer ir para a próxima.
A página não é pública. É um sistema ERP utilizado na empresa que trabalho.
Dim chrome As New ChromeDriver
Dim by As New selenium.by
Dim tbl As WebElement
Dim tbltr As WebElements
Dim act As selenium.TableRow
With chrome
'.AddArgument "--headless"
.SetPreference "download.default_directory", ThisWorkbook.Path
.SetPreference "download.directory_upgrade", True
.SetPreference "download.prompt_for_download", False
.SetPreference "safebrowsing.enabled", True
.SetPreference "plugins.plugins_disabled", Array("Chrome PDF Viewer")
.Start
.Window.Maximize
.Get "https://gestaoclick.com/contratos_servicos/?menu=MTAz"
.FindElementById("UsuarioEmail").SendKeys
.FindElementById("UsuarioSenha").SendKeys
.FindElementByCss(".bg-olive").Click
Set tbl = chrome.FindElementByXPath("//*[@id='form']/div/table")
rcount = tbl.FindElementsByTag("tr").Count
Debug.Print rcount
For I = 1 To rcount
'preso à primeira linha da tabela "tr[1], pois não sei uma forma de ir para a próxima linha
.FindElementByXPath("//*[@id='form']/div/table/tbody/tr[1]/td[9]/div/button").Click
.FindElementByLinkText("Imprimir PDF").Click
Next I
Re: SELENIUM VBA + DOWNLOAD DE ARQUIVOS
Sem acesso a página vai ser complicado.
Em qual linha acontece o erro?
Em qual linha acontece o erro?
Re: SELENIUM VBA + DOWNLOAD DE ARQUIVOS
Aliás, o elemento não precisa estar visível na página para você chamar o "click" dele. Pegar o Xpath do botão de impressão deve ser o suficiente.
Já tentou isso?
Já tentou isso?
-
andre_oliv
- Acabou de chegar

- Mensagens: 4
- Registrado em: Ter Ago 16, 2022 7:56 am
Re: SELENIUM VBA + DOWNLOAD DE ARQUIVOS
Já sim.
Porém, quando pego o xpath do botão ele fica refecenciado ao tr da tabela (no caso, o número da linha, conforme parte do código que postei tr[1].
Estou partinto para outra alternativa: a opção de imprimir é um linktext, então, o que eu posso fazer é extrair cada linktext para uma planilha e após abrir cada um.
Porém, quando pego o xpath do botão ele fica refecenciado ao tr da tabela (no caso, o número da linha, conforme parte do código que postei tr[1].
Estou partinto para outra alternativa: a opção de imprimir é um linktext, então, o que eu posso fazer é extrair cada linktext para uma planilha e após abrir cada um.

