Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Problema ao inserir o dado na Web
Problema ao inserir o dado na Web
Boa tarde,
Estou tentando fazer o preenchimento automático de uma guia de DAE, porém preciso de uma ajuda, pois cada passo o site muda e as informações que insiro não estão puxando falando que a variável do objeto ou do bloco 'With' não está inserida. Quem puder me ajudar agradeço. O problema está em negrito.
Esse é o código (ainda em processamento)
Sub Emissao_DAE_MG_1()
Dim ie As InternetExplorer
Dim icms As Object
Set ie = CreateObject("InternetExplorer.Application")
ie.Navigate "https://www2.fazenda.mg.gov.br/arrecada ... =CONFIRMAR"
Do Until ie.ReadyState = READYSTATE_COMPLETE
Loop
ie.Visible = True
ie.document.all.Item("cmbICMS").Item(2).Selected = True
ie.document.all.Item("btnConfirmar").Click
While ie.Busy
Wend
ie.document.all.Item("cmbTipoIdentificacao").Item(1).Selected = True
ie.document.getelementsbyname("txtIdentificacao").Item.InnerText = "17676214000185"
ie.document.all.Item("btnPesquisar").Click
While ie.Busy
Wend
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 3
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
ie.document.all.Item("cmbReceita").Item(313).Selected = True
ie.document.getelementsbyname("dtVencimento").Item.InnerText = "01/10/2019"
ie.document.getelementsbyname("dtPagamento").Item.InnerText = "08/10/2019"
Estou tentando fazer o preenchimento automático de uma guia de DAE, porém preciso de uma ajuda, pois cada passo o site muda e as informações que insiro não estão puxando falando que a variável do objeto ou do bloco 'With' não está inserida. Quem puder me ajudar agradeço. O problema está em negrito.
Esse é o código (ainda em processamento)
Sub Emissao_DAE_MG_1()
Dim ie As InternetExplorer
Dim icms As Object
Set ie = CreateObject("InternetExplorer.Application")
ie.Navigate "https://www2.fazenda.mg.gov.br/arrecada ... =CONFIRMAR"
Do Until ie.ReadyState = READYSTATE_COMPLETE
Loop
ie.Visible = True
ie.document.all.Item("cmbICMS").Item(2).Selected = True
ie.document.all.Item("btnConfirmar").Click
While ie.Busy
Wend
ie.document.all.Item("cmbTipoIdentificacao").Item(1).Selected = True
ie.document.getelementsbyname("txtIdentificacao").Item.InnerText = "17676214000185"
ie.document.all.Item("btnPesquisar").Click
While ie.Busy
Wend
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 3
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
ie.document.all.Item("cmbReceita").Item(313).Selected = True
ie.document.getelementsbyname("dtVencimento").Item.InnerText = "01/10/2019"
ie.document.getelementsbyname("dtPagamento").Item.InnerText = "08/10/2019"
-
- Manda bem
- Mensagens: 127
- Registrado em: Sex Out 05, 2018 2:42 pm
Re: Problema ao inserir o dado na Web
Amigo,
Por gentileza, podes passar o link do site?
ie.Navigate "https://www2.fazenda.mg.gov.br/arrecada ... =CONFIRMAR" ??????
Se puderes passar o link inicial que de corretamente na sua primeira ação?
Preferes usar o IE? Seria interessante usar o Selenium para isso eu acho melhor para navegar com ele.
Att.
Por gentileza, podes passar o link do site?
ie.Navigate "https://www2.fazenda.mg.gov.br/arrecada ... =CONFIRMAR" ??????
Se puderes passar o link inicial que de corretamente na sua primeira ação?
Preferes usar o IE? Seria interessante usar o Selenium para isso eu acho melhor para navegar com ele.
Att.
Re: Problema ao inserir o dado na Web
www2.fazenda.mg.gov.br/arrecadacao/ctrl/ARRECADA/ARRECADA/DOCUMENTO_ARRECADACAO?ACAO=CONFIRMAR
-
- Manda bem
- Mensagens: 127
- Registrado em: Sex Out 05, 2018 2:42 pm
Re: Problema ao inserir o dado na Web
Olá amigo,
Infelizmente no IE não consegui, e pior no Selenium também deu um erro.
Baixe o Selenium basic e atualize o Chormedriver para testar.
Segue.
Sub ICMSMG()
Dim driver As New Selenium.ChromeDriver
Set driver = New ChromeDriver
'driver.AddArgument ("--headless")
driver.Get "https://www2.fazenda.mg.gov.br/arrecada ... =CONFIRMAR"
While Busy
Application.Wait TimeSerial(Hour(Now), Minute(Now), Second(Now) + 15)
DoEvents:
Wend
driver.FindElementByXPath("/html/body/div[1]/div[2]/div/div[2]/div/form/table[2]/tbody/tr[2]/td[2]/div/input").Click
driver.FindElementByXPath("/html/body/div[1]/div[2]/div/div[2]/div/form/table[2]/tbody/tr[2]/td[2]/div/div[2]/span[3]").Click ("2")
driver.FindElementByName("btnConfirmar").Click
While Busy
Application.Wait TimeSerial(Hour(Now), Minute(Now), Second(Now) + 15)
DoEvents:
Wend
driver.FindElementByXPath("/html/body/div[1]/div[2]/div/div[2]/div/form/table[2]/tbody/tr[2]/td[2]/div/div/input").Click
driver.FindElementByXPath("/html/body/div[1]/div[2]/div/div[2]/div/form/table[2]/tbody/tr[2]/td[2]/div/div/div[2]/span[2]").Click
While Busy
Application.Wait TimeSerial(Hour(Now), Minute(Now), Second(Now) + 15)
DoEvents:
Wend
driver.FindElementByName("txtIdentificacao").SendKeys "17676214000185"
driver.FindElementByName("btnPesquisar").Click
While Busy
Application.Wait TimeSerial(Hour(Now), Minute(Now), Second(Now) + 15)
DoEvents:
Wend
driver.FindElementByName("dtVencimento").SendKeys "01/10/2019"
driver.FindElementByName("dtPagamento").SendKeys "08/10/2019"
While Busy
Application.Wait TimeSerial(Hour(Now), Minute(Now), Second(Now) + 15)
DoEvents:
Wend
driver.FindElementByXPath("/html/body/div[1]/div[2]/div/div[2]/div/form/table[4]/tbody/tr[3]/td[2]/div/div/input").Click
driver.FindElementByXPath("/html/body/div[1]/div[2]/div/div[2]/div/form/table[4]/tbody/tr[3]/td[2]/div/div/div[2]/span[16]").Click
driver.FindElementByName("btnCalcular").Click
End Sub
Aqui me deu um erro danado que não estou conseguindo passar, não sei se é da programação ou do site, mas acredito que os Jed´s vão conseguir ajuda, eu vou tentar mais vezes mas segue a programação para que você possa também tentar. Desculpas em não conseguir por agora, mas vou continuar tentando.
Se conseguir por favor nos de retorno amigo.
Infelizmente no IE não consegui, e pior no Selenium também deu um erro.
Baixe o Selenium basic e atualize o Chormedriver para testar.
Segue.
Sub ICMSMG()
Dim driver As New Selenium.ChromeDriver
Set driver = New ChromeDriver
'driver.AddArgument ("--headless")
driver.Get "https://www2.fazenda.mg.gov.br/arrecada ... =CONFIRMAR"
While Busy
Application.Wait TimeSerial(Hour(Now), Minute(Now), Second(Now) + 15)
DoEvents:
Wend
driver.FindElementByXPath("/html/body/div[1]/div[2]/div/div[2]/div/form/table[2]/tbody/tr[2]/td[2]/div/input").Click
driver.FindElementByXPath("/html/body/div[1]/div[2]/div/div[2]/div/form/table[2]/tbody/tr[2]/td[2]/div/div[2]/span[3]").Click ("2")
driver.FindElementByName("btnConfirmar").Click
While Busy
Application.Wait TimeSerial(Hour(Now), Minute(Now), Second(Now) + 15)
DoEvents:
Wend
driver.FindElementByXPath("/html/body/div[1]/div[2]/div/div[2]/div/form/table[2]/tbody/tr[2]/td[2]/div/div/input").Click
driver.FindElementByXPath("/html/body/div[1]/div[2]/div/div[2]/div/form/table[2]/tbody/tr[2]/td[2]/div/div/div[2]/span[2]").Click
While Busy
Application.Wait TimeSerial(Hour(Now), Minute(Now), Second(Now) + 15)
DoEvents:
Wend
driver.FindElementByName("txtIdentificacao").SendKeys "17676214000185"
driver.FindElementByName("btnPesquisar").Click
While Busy
Application.Wait TimeSerial(Hour(Now), Minute(Now), Second(Now) + 15)
DoEvents:
Wend
driver.FindElementByName("dtVencimento").SendKeys "01/10/2019"
driver.FindElementByName("dtPagamento").SendKeys "08/10/2019"
While Busy
Application.Wait TimeSerial(Hour(Now), Minute(Now), Second(Now) + 15)
DoEvents:
Wend
driver.FindElementByXPath("/html/body/div[1]/div[2]/div/div[2]/div/form/table[4]/tbody/tr[3]/td[2]/div/div/input").Click
driver.FindElementByXPath("/html/body/div[1]/div[2]/div/div[2]/div/form/table[4]/tbody/tr[3]/td[2]/div/div/div[2]/span[16]").Click
driver.FindElementByName("btnCalcular").Click
End Sub
Aqui me deu um erro danado que não estou conseguindo passar, não sei se é da programação ou do site, mas acredito que os Jed´s vão conseguir ajuda, eu vou tentar mais vezes mas segue a programação para que você possa também tentar. Desculpas em não conseguir por agora, mas vou continuar tentando.
Se conseguir por favor nos de retorno amigo.