MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Preenchendo campo em formulario web do internet explorer

    Compartilhe

    kaduoliveira
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2
    Registrado : 10/09/2014

    [Resolvido]Preenchendo campo em formulario web do internet explorer

    Mensagem  kaduoliveira em Qua 10 Set 2014, 23:08

    Amigos,

    Após vasculhar a internet, não encontrei a solução do meu problema.
    Utilizo o Access 2007 e a referência Microsoft Internet Controls está ativada.

    Estou tentando fazer o login no site: [Você precisa estar registrado e conectado para ver este link.]

    utilizando o seguinte código:

    Código:

    Sub Logar()

    Dim ie As New InternetExplorer
    Set ie = CreateObject("InternetExplorer.application")


    With ie

    .Visible = True
    .Navigate ("http://v2smv.com.br")

    While .Busy Or .ReadyState <> 4: DoEvents: Wend

    .Document.getElementById("txtLogin").Focus
    .Document.getElementById("txtLogin").Value = "usuario"

    .Document.getElementById("txtPassword").Focus
    .Document.getElementById("txtPassword").Value = "senha"

    End With
    End Sub

    Ao chegar no comando Focus, apresenta o erro 2110 abaixo:

    [Você precisa estar registrado e conectado para ver esta imagem.]

    Retirando essa parte do focus, a macro roda, mas não preenche os campos do formulário.

    Outro ponto é que não consigo achar o id do botão ok para dar o comando click

    Sabem o que pode estar acontecendo?

    Abraços.
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6312
    Registrado : 05/11/2009

    Re: [Resolvido]Preenchendo campo em formulario web do internet explorer

    Mensagem  Alexandre Neves em Qui 11 Set 2014, 12:43

    Bom dia, e bem-vindo ao fórum
    No primeiro Focus funciona e no segundo não? Tente perceber se existe alguma diferença entre ambos.


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    LiveBrain
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 182
    Registrado : 15/05/2011

    Re: [Resolvido]Preenchendo campo em formulario web do internet explorer

    Mensagem  LiveBrain em Qui 11 Set 2014, 17:04

    Opa Kadu,
    não é necessário usar o comando Focus


    Esse form Web tem um iFrame e ele tem que ser informado no código

    Altere conforme abaixo

    Código:
    .Document.frames("frBody").Document.all("txtLogin").Value = "exemplo"
    .Document.frames("frBody").Document.all("txtPassword").Value = "senha"


    .................................................................................
    Abraços

    Live Brain Tutoriais

    "Fraca é a pessoa que não conhece a força que possui nos amigos"
    avatar
    chsestrem
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 466
    Registrado : 01/03/2010

    Re: [Resolvido]Preenchendo campo em formulario web do internet explorer

    Mensagem  chsestrem em Qui 11 Set 2014, 17:20

    Olá,

    Como o Amigo acima já respondeu,

    O domínio [Você precisa estar registrado e conectado para ver este link.]

    não é o correto para você incluir o login e a senha.

    você deve navegar para o Frame do domínio:

    [Você precisa estar registrado e conectado para ver este link.]


    Sobre o click do botão OK:

    Tente fazer um for each por esta tag:

    Código:
    <td valign="bottom">

       <button style="border:none; width:25px; height:14px; background-image:url("img/mini_ok.gif"); " onclick="javascript:ajaxLogin("login");"></button>

    </td>


    Seu código ficaria assim:

    Código:

    Sub Logar()

    ' É necessário marcar a referência MicrosoftHTML Object Library

    Dim LinkButton  As HTMLAnchorElement
    Dim HtmlDoc

    Dim ie As New InternetExplorer
    Set ie = CreateObject("InternetExplorer.application")


    With ie

    .Visible = True
    .Navigate ("https://w08ger0045.websiteseguro.com/v2smv1/login.asp?todo=")

    'Tente este código:

    While .Busy Or .ReadyState <> 4: DoEvents: Wend


    .Document.getElementById("txtLogin").Focus
    .Document.getElementById("txtLogin").Value = "usuario"

    .Document.getElementById("txtPassword").Focus
    .Document.getElementById("txtPassword").Value = "senha"


    Set HtmlDoc = .Document

                For Each LinkButton In HtmlDoc.getElementsByTagName("button") 'Inspecionar elemento Button
                    
                   If InStr(LinkButton.getAttribute("onclick"), "login") > 0 Then 'Verificar Atributo Onclick      
       
                     LinkButton.Click

                     Exit For
                                    
                   End If
                    
                Next LinkButton


    End With

    End Sub


    .................................................................................
    Charles Sestrem
    [Você precisa estar registrado e conectado para ver este link.]

    kaduoliveira
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2
    Registrado : 10/09/2014

    Re: [Resolvido]Preenchendo campo em formulario web do internet explorer

    Mensagem  kaduoliveira em Sab 13 Set 2014, 16:37

    Pessoal muito obrigado pela ajuda!

    A solução do chsestrem funcionou perfeitamente! cheers cheers cheers cheers cheers cheers cheers

    Abraços

      Data/hora atual: Qua 23 Ago 2017, 01:46