Pesquisar na Comunidade
Mostrando resultados para as tags ''IE''.
Encontrado 6 registros
-
Olá, estou usando um código VBA para pegar uma informação de uma página web. O código VBA segue os seguintes passos: 1. Abre uma página web (a página default mostra os dados para a data de ontem 11/04/2018) 2. Preenche o campo de data com o valor 09/04/20214 3. Clica no botão OK 4. Pega um valor da página que foi carregada depois do clique no botão OK O problema é que o valor retornado não é o valor que foi atualizado depois do clique do botão e sim o valor que já estava na página default. A página mostrada no IE está com o valor atualizado mas o retorno do código tem o valor antigo. O código é de novato e que adaptou a partir de buscas na internet. Obrigado pela ajuda. Dim IE As Object Dim objElement As Object Dim objColletion1 As Object Dim objColletion2 As Object Dim x As Object Dim y As Object Dim i As Long 'Create Internet Explorer object Set IE = CreateObject("InternetExplorer.Application") IE.Visible = True 'IE.navigate "http://www.bmfbovespa.com.br/pt_br/servicos/market-data/consultas/mercado-de-derivativos/contratos-em-aberto/por-tipo-de-participante/" IE.navigate "http://www2.bmf.com.br/pages/portal/bmfbovespa/lumis/lum-tipo-de-participante-ptBR.asp" sleep (5000) 'wait 5 seconds to load web page Set objColletion1 = IE.document.getelementsbytagname("input") 'set field in a object i = 0 While i < objColletion1.Length 'try to find out field named "dData1" If objColletion1(i).Name = "dData1" Then ' set the date objColletion1(i).Value = "09/04/2018" 'a date before today End If i = i + 1 Wend Set objColletion2 = IE.document.getelementsbytagname("button") 'set the buttons on page i = 0 While i < objColletion2.Length 'try to fid out the button to submit If objColletion2(i).Type = "submit" And objColletion2(i).Name = "" Then 'OK button found Set objElement = objColletion2(i) End If i = i + 1 Wend objElement.Click 'OK button clicked sleep (5000) 'wait to load web page For Each x In IE.document.body.getelementsbytagname("table") 'search for a expected value If InStr(x.innertext, "MERCADO FUTURO DE DÓLAR") > 0 Then For Each y In x.getelementsbytagname("tr") If InStr(y.innertext, "Inv. Não Residente") > 0 Then MsgBox y.getelementsbytagname("td")(1).innertext End If Next y End If Next x Set IE = Nothing Set objElement = Nothing Set objColletion1 = Nothing Set objColletion2 = Nothing Bruno.
-
Olá, estou usando um código VBA para pegar uma informação de uma página web. O código VBA segue os seguintes passos: 1. Abre uma página web (a página default mostra os dados para a data de ontem 11/04/2018) 2. Preenche o campo de data com o valor 09/04/20214 3. Clica no botão OK 4. Pega um valor da página que foi carregada depois do clique no botão OK O problema é que o valor retornado não é o valor que foi atualizado depois do clique do botão e sim o valor que já estava na página default. A página mostrada no IE está com o valor atualizado mas o retorno do código tem o valor antigo. O código é de novato e que adaptou a partir de buscas na internet. Obrigado pela ajuda. Dim IE As Object Dim objElement As Object Dim objColletion1 As Object Dim objColletion2 As Object Dim x As Object Dim y As Object Dim i As Long 'Create Internet Explorer object Set IE = CreateObject("InternetExplorer.Application") IE.Visible = True 'IE.navigate "http://www.bmfbovespa.com.br/pt_br/servicos/market-data/consultas/mercado-de-derivativos/contratos-em-aberto/por-tipo-de-participante/" IE.navigate "http://www2.bmf.com.br/pages/portal/bmfbovespa/lumis/lum-tipo-de-participante-ptBR.asp" sleep (5000) 'wait 5 seconds to load web page Set objColletion1 = IE.document.getelementsbytagname("input") 'set field in a object i = 0 While i < objColletion1.Length 'try to find out field named "dData1" If objColletion1(i).Name = "dData1" Then ' set the date objColletion1(i).Value = "09/04/2018" 'a date before today End If i = i + 1 Wend Set objColletion2 = IE.document.getelementsbytagname("button") 'set the buttons on page i = 0 While i < objColletion2.Length 'try to fid out the button to submit If objColletion2(i).Type = "submit" And objColletion2(i).Name = "" Then 'OK button found Set objElement = objColletion2(i) End If i = i + 1 Wend objElement.Click 'OK button clicked sleep (5000) 'wait to load web page For Each x In IE.document.body.getelementsbytagname("table") 'search for a expected value If InStr(x.innertext, "MERCADO FUTURO DE DÓLAR") > 0 Then For Each y In x.getelementsbytagname("tr") If InStr(y.innertext, "Inv. Não Residente") > 0 Then MsgBox y.getelementsbytagname("td")(1).innertext End If Next y End If Next x Set IE = Nothing Set objElement = Nothing Set objColletion1 = Nothing Set objColletion2 = Nothing Bruno.
-
Fala galera,Estou precisando de uma ajuda com uma macro no Excel com interação com o IEEu preciso entrar em um site, colocar um certo valor em um campo de busca e apertar a tecla {Enter}, porém não estou conseguindo simular esse aperto do "Enter".Não tem um botão "buscar" para que eu possa prosseguir.Já tentei Application.SendKeys "~", TrueSendKeys "~", ' TrueNada deu certo. Sub Enter() Dim ie As InternetExplorer Set ie = New InternetExplorer ie.Visible = True ie.Navigate "http://www.loterias.caixa.gov.br/wps/portal/loterias/landing/lotofacil" While ie.Busy DoEvents Wend Do Until ie.ReadyState = READYSTATE_COMPLETE DoEvents Loop ie.Document.all("buscaConcurso").innerText = "1255" 'Exemplo ' Agora era preciso apertar o enter para completar a busca 'Application.SendKeys "~", True End SubQuem puder me ajudar eu agradeço.Obrigado
-
Prezados, boa noite estou "montando" um código para entrar em um site da empresa onde trabalho, depois ele clica em um hiperlink , depois preenche alguns dados e por fim ele copia estes dados para do excel porém já tentei de diversas forma seja com códigos, sendkeys e etc e tal, mas não consigo copiar os benditos dados para o EXCEl Application.ScreenUpdating = False Dim IE As Object Dim W As Worksheet Dim x As Variant Dim A as Worksheet Set IE = CreateObject("InternetExplorer.application") Set W = Sheets("Plan3") Set A = Sheets("Plan1") With IE .Visible = True .Navigate ("colocar o site") 'aqui eu defino o site While .Busy Or .ReadyState <> 4: DoEvents: Wend 'espera carregar .Document.getElementById("Login1_UserName").Focus 'focaliza aonde coloco meu login .Document.getElementById("Login1_UserName").Value = "digitar login" 'aqui eu coloco meu login .Document.getElementById("Login1_Password").Focus ' focalizo onde colocarei a senha .Document.getElementById("Login1_Password").Value = "digitar senha" 'aqui coloco a senha .Document.all("Login1_LoginButton").Click 'clico no boão para logar While .Busy Or .ReadyState <> 4: DoEvents: Wend 'espera carregar 'espera carregar .Document.all("ctl00_ContentPlaceHolder1_ctl02_HyperLink17").Click 'acessa uma opção na página para eu buscar os filtros While .Busy Or .ReadyState <> 4: DoEvents: Wend 'espera mais um pouquinho .Document.getElementById("ctl00_ContentPlaceHolder1_DropEmpresaCompleto1_dropEmpresas").Focus 'focaliza aonde vou colocar a empresa procurada .Document.getElementById("ctl00_ContentPlaceHolder1_DropEmpresaCompleto1_dropEmpresas").Value = W.Range("E1").Value 'seleciono uma empresa a procurar de acordo com uma célula na planilha While .Busy Or .ReadyState <> 4: DoEvents: Wend 'espesra mais um tico .Document.getElementById("ctl00_ContentPlaceHolder1_txtPeriodoInicio").Focus 'focaliza aonde vou colocar uma data inicial .Document.getElementById("ctl00_ContentPlaceHolder1_txtPeriodoInicio").Value = W.Range("N5").Text 'aqui é colocado a data inicial de acordo com uma célula na planilha While .Busy Or .ReadyState <> 4: DoEvents: Wend 'espero... .Document.getElementById("ctl00_ContentPlaceHolder1_txtPeriodoFinal").Focus 'focaliza aonde vou colocar uma data final .Document.getElementById("ctl00_ContentPlaceHolder1_txtPeriodoFinal").Value = W.Range("P5").Text 'aqui é colocado a data final de acordo com uma célula na planilha .Document.all("ctl00_ContentPlaceHolder1_btnBuscaPorPeriodo").Click 'clico para filtrar agora eu precisaria copiar uma tabela que tem o ID "ctl00_ContentPlaceHolder1_UPNotas" e colar na célula A1 da Plan 1 (colar em A.range("a1") como fazer para copiar e colar esta tabela ?? Poor favoor, me ajudeeeeem...
-
Boa noite galera. Sou novo nesse fórum, mas já percebi que o nível da galera é muito bom. Quanto a mim, sou iniciante em VBA, gosto de automatizar tarefas repetitivas e estou sempre a buscar aprimorar o conhecimento, principalmente na área de informática. Vamos ao que interessa: Tenho uma macro que acessa um site e preenche um formulário. Esse fomulário após devidamente preenchido deve gerar uma guia no formato PDF, ou o melhor, há um botão que faz o download da guia. Já fiz esse procedimento com um outro site, que também gera uma guia ao final e tudo funciona perfeitamente, inclusive o click no botão que dispara a guia. Mas, com relação a esse último form que estou trabalhando, já quebrei bastante a cabeça e não consegui fazer o download da bendita guia. Já tentei o comando .document.all(nome).click e .document.form(0).submit, mas nada ocorre. Já varri o código fonte inteiro, a procura do botão correto para o click, sem sucesso. Obs: O formulário é preenchido em duas etapas, sendo que já conclui a primeira e consegui avança para a segunda, mas travei na emissão da guia. Assim, meus caros, peço que me ajudem nessa questão. Segue código VBA e um trecho da código fonte, no qual eu suspeito que esteja a solução do problema. Public Sub Imprimir_1() On Error Resume Next Dim Endereço As String Dim Endereço2 As String Dim MyBrowser As SHDocVw.InternetExplorer 'aaaaaaaaaaaaaaaaaa 'aaaaaaaaaaaaaaaaaa Endereço = "http://www.grfrecursal.caixa.gov.br/sisfg/pages/sfg/recursal/iniciar.jsf" Endereço2 = "http://www.grfrecursal.caixa.gov.br/sisfg/pages/sfg/recursal/recolhimento.jsf" Set IE = CreateObject("InternetExplorer.Application") IE.Navigate (Endereço) IE.Visible = True IE.Document.Forms.Item("frm").Item(2).Value = "33000167000101" 'CNPJ While IE.ReadyState <> 4 Wend IE.Document.Forms.Item("frm").Item(3).Value = "Petroleo Brasileiro SA" 'Razão Social While IE.ReadyState <> 4 Wend IE.Document.Forms.Item("frm").Item(4).Value = "Marconi" 'Nome de Contato While IE.ReadyState <> 4 Wend IE.Document.Forms.Item("frm").Item(5).Value = "8432354872" 'Telefone de Contato While IE.ReadyState <> 4 Wend IE.Document.Forms.Item("frm").Item(9).Value = "33000167000101" 'CNPJ While IE.ReadyState <> 4 Wend IE.Document.all("frm:j_id81").Click Trecho do código fonte <div class="botoes_linha" style="height:70px; top:110px"> <div style="; margin-left:594px; "><a href="#" onmouseup="refresh(10000)" tabindex="19" type="submit" onclick="var a=function(){if (! validateFormLocal()) {return false};A4J.AJAX.Submit('frm',event,{'parameters':{'ajaxSingle':'frm:j_id141','frm:j_id142':'frm:j_id142'} ,'similarityGroupingId':'frm:j_id142'} );};var b=function(){if(typeof jsfcljs == 'function'){jsfcljs(document.getElementById('frm'),{'frm:j_id141':'frm:j_id141'},'');}return false};return (a()==false) ? false : b();" type="submit"> <img src="../../../imagens/bt_gerar_guia.jpg" border="0" alt="botão continuar" /></a> Abraço