Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

RicardoVVV

Visitar website e clicar em ID- ajuda

Mensagens Recomendadas

RicardoVVV

Boa tarde a todos, estou iniciando novo projecto, mas estou com dificuldade em fazer que o programa faça isto:

1º Visitar website,encontrar ID element, ou name ou letra e clicar de imediato !

Resumindo é

Estou a tentar fazer assim, mas ele visita o www.facebook.com e não clica em LOGIN

nao entendo!

alguem ajuda?

Imports System.IO
Imports System.Windows.Forms
Imports System.Windows.Forms.WebBrowserDocumentCompletedEventArgs


Public Class Form1

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       WebBrowser1.Navigate("http://login.facebook.com/login.php")
   End Sub


   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       WebBrowser1.Navigate("www.facebook.com")

       Dim allelements As HtmlElementCollection = WebBrowser1.document.All

       For Each webpageelement As HtmlElement In allelements

           If webpageelement.GetAttribute("value") = "Log In" Then

               webpageelement.InvokeMember("click")

           End If

       Next
   End Sub

End Class

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ribeiro55

Olá RicardoVVV,

Perguntaste a um sábado, uma questão que já foi respondida várias vezes. Tens de ter calma :)

Não encontra o elemento porque no momento em que o estás a procurar, ele não existe.

Estás a percorrer os elementos imediatamente após o navigate e a menos que tenhas uma ligação à Internet mais rápida do que o escalonador do processador, não vais ter o botão login no DOM.

Basta que passes a lógica de pesquisa para uma altura mais adequada como por exemplo, quando o DOM estiver completo.

Felizmente, o WebBrowser dispara um evento quando isso acontece: DocumentCompleted.

Ora verifica:

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       WebBrowser1.Navigate("www.facebook.com")
   End Sub

   Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
       Dim allelements As HtmlElementCollection = WebBrowser1.document.All

       For Each webpageelement As HtmlElement In allelements
           If webpageelement.GetAttribute("value") = "Log In" Then
               webpageelement.InvokeMember("click")

           End If

       Next
   End Sub


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.