RicardoVVV Posted June 18, 2016 at 10:31 AM Report #597250 Posted June 18, 2016 at 10:31 AM 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
RicardoVVV Posted June 18, 2016 at 04:30 PM Author Report #597253 Posted June 18, 2016 at 04:30 PM ninguem sabe?????? nenhuma ajuda??? 😞
ribeiro55 Posted June 20, 2016 at 01:58 PM Report #597311 Posted June 20, 2016 at 01:58 PM 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"
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now