Olá, gostaria de uma ajuda!!
Já quebrei a cabeça com isso mas não consigo resolver!
Tenho um script que insere informação em um campo (CNPJ), clicka num botão, que abre em outra aba e carrega uma pagina na internet.
Bom, até aí tá tudo beleza, só que eu queria salvar esta pagina no meu computador.
Mas não consigo fazer o selenium ler a aba que foi aberta pelo botão!! Alguém pode me ajudar ???
O problema está nesta linha "driver.SwitchToWindowByName("certidao", -1, True) = Window" ele diz que não existe método ou propriedade.
Eu tentei clicar no botão "imprimir" desta segunda aba, mas acho que nem funcionaria. Se eu vencer esta fase, a próxima seria dar um comando do tipo "save as"
Segue o código:
Sub Distrital()
Dim driver As WebDriver
Set driver = New ChromeDriver
Dim CNPJ As String
Dim nomeDaJanelaDeDestino As String
Dim certidao As String
redo:
PastaDestino = "C:\Users\Melchi\Desktop\CARGA DE DADOS\Certidão\Baixadas"
driver.Get "http://www.fazenda.df.gov.br/area.cfm?id_area=449"
Application.Wait (Now + TimeValue("0:00:03"))
driver.FindElementByXPath("//*[@id=""formEmiteCertidao""]/table[1]/tbody/tr/td/input[1]").Click
Application.Wait (Now + TimeValue("0:00:03"))
uLine = Sheets("Certidões").Range("O" & Rows.Count).End(xlUp).Row
'Executa no intervalo de linhas definido
Set Rng2 = Sheets("Certidões").Range("O8:O" & uLine).Cells
For Each Cell In Rng2
CNPJ = "00346098000133"
driver.FindElementById("argumento").SendKeys CNPJ
driver.FindElementById("btnGeraCertidao").Click
Application.Wait (Now + TimeValue("0:00:02"))
nomeDaJanelaDeDestino = "certidao"
driver.SwitchToWindowByName("certidao", -1, True) = Window
driver.FindElementByXPath("/html/body/a/img").Click
Next Cell
driver.Quit
End Sub
Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Salvar Pagina da Web - Selenium
Re: Salvar Pagina da Web - Selenium
Fiz um teste e veja se a modificação que fiz lhe oferece um caminho:
Sub Distrital()
Dim driver As WebDriver
Set driver = New ChromeDriver
Dim CNPJ As String
Dim nomeDaJanelaDeDestino As String
Dim certidao As String
redo:
PastaDestino = "C:\Users\Melchi\Desktop\CARGA DE DADOS\Certidão\Baixadas"
driver.Get "http://www.fazenda.df.gov.br/area.cfm?id_area=449"
Application.Wait (Now + TimeValue("0:00:03"))
driver.FindElementByXPath("//*[@id=""formEmiteCertidao""]/table[1]/tbody/tr/td/input[1]").Click
Application.Wait (Now + TimeValue("0:00:03"))
uLine = Sheets("Certidões").Range("O" & Rows.Count).End(xlUp).Row
'Executa no intervalo de linhas definido
Set Rng2 = Sheets("Certidões").Range("O8:O" & uLine).Cells
For Each Cell In Rng2
CNPJ = "00346098000133"
driver.FindElementById("argumento").SendKeys CNPJ
driver.FindElementById("btnGeraCertidao").Click
Application.Wait (Now + TimeValue("0:00:02"))
nomeDaJanelaDeDestino = "certidao"
'driver.SwitchToWindowByName("certidao", -1, True) = Window - Está desabilitada
driver.SwitchToNextWindow.Activate 'Vai para aba ativa.
driver.FindElementByXPath("/html/body/a/img").Click
Next Cell
driver.Quit
End Sub
Sub Distrital()
Dim driver As WebDriver
Set driver = New ChromeDriver
Dim CNPJ As String
Dim nomeDaJanelaDeDestino As String
Dim certidao As String
redo:
PastaDestino = "C:\Users\Melchi\Desktop\CARGA DE DADOS\Certidão\Baixadas"
driver.Get "http://www.fazenda.df.gov.br/area.cfm?id_area=449"
Application.Wait (Now + TimeValue("0:00:03"))
driver.FindElementByXPath("//*[@id=""formEmiteCertidao""]/table[1]/tbody/tr/td/input[1]").Click
Application.Wait (Now + TimeValue("0:00:03"))
uLine = Sheets("Certidões").Range("O" & Rows.Count).End(xlUp).Row
'Executa no intervalo de linhas definido
Set Rng2 = Sheets("Certidões").Range("O8:O" & uLine).Cells
For Each Cell In Rng2
CNPJ = "00346098000133"
driver.FindElementById("argumento").SendKeys CNPJ
driver.FindElementById("btnGeraCertidao").Click
Application.Wait (Now + TimeValue("0:00:02"))
nomeDaJanelaDeDestino = "certidao"
'driver.SwitchToWindowByName("certidao", -1, True) = Window - Está desabilitada
driver.SwitchToNextWindow.Activate 'Vai para aba ativa.
driver.FindElementByXPath("/html/body/a/img").Click
Next Cell
driver.Quit
End Sub