Jump to content

Como Conseguir Clicar Num Elemento HTML Através Da Class


Recommended Posts

Posted

Olá, eu estou a criar um programa para postar em grupos do facebook. Mas para conseguir clicar num botão, preciso que o web browser faça isso pela class, pois o ID é random.

Espero que me ajudem!

Posted

Bom dia,

For Each Element As HtmlElement In WebBrowser1.Document.GetElementsByTagName("a")
If Element.OuterHtml.Contains("ClasseName") Then
Element.InvokeMember("click")
return
End If
Next Element

Cordiais cumprimentos,

Apocsantos

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Posted

Bem, eu já testei e não resultou. O objetivo era postar em grupos do facebook! Se puder ajudar novamente agradecia que o fizesse!

 

Obrigado Pela Atenção, Pazap Tutors

Posted

Boa noite,

Troca o classname, pelo nome da classe em questão.

Cordiais cumprimentos,

Apocsantos

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Posted

Eu coloquei o código no evento do botão e alterei a ClassName para a class em questão. Logo em seguida executei o programa para testar e, quando clico no botão, simplesmente não acontece nada nem um erro!

Public Class Form1
    '================================'
    'Isto é só um formulário de teste'
    '================================'

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        'Site Do navegador'
        WebBrowser1.Navigate("https://www.facebook.com/groups/511333882410468/")
    End Sub

    Private Sub bnt_msg_Click(sender As System.Object, e As System.EventArgs) Handles bnt_msg.Click
        'Evento do Botão: bnt_msg'
        For Each Element As HtmlElement In WebBrowser1.Document.GetElementsByTagName("a")
            If Element.OuterHtml.Contains("_1mf7 _4jy0 _4jy3 _4jy1 _51sy selected _42ft") Then
                Element.InvokeMember("Click")
                Return
            End If
        Next Element
    End Sub

End Class
Posted

Bom dia,

Experimenta usar o debuger do vs e os breakpoints para ver o que está a falhar.

Cordiais cumprimentos,

Apocsantos

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Posted

Bem, eu utilizei os Breakpoints e cheguei a uma conclusão:

O programa não está a encontrar a class, logo a linha de código que faz o programa clicar no elemento não é executada.

'Evento Do Botão'

        For Each Element As HtmlElement In WebBrowser1.Document.GetElementsByTagName("a")
            If Element.OuterHtml.Contains("_332r") Then

 				 Element.InvokeMember("Click") '<--Esta Linha de Código não é executada'

                Return
            End If
        Next Element

Espero que me continue a ajudar! Obrigado!

Posted

Boa noite,

'Evento Do Botão'

For Each Element As HtmlElement In WebBrowser1.Document.GetElementsByTagName("<div") ''tag html a ser pesquisada, para depois pesquisar os elementos
            If Element.OuterHtml.Contains("_332r") Then

 				 Element.InvokeMember("Click") '<--Esta Linha de Código não é executada'

                Return
            End If
        Next Element

Não tenho a certeza se vai dar, pois não estou com tempo para testar, mas testa e experimenta trocar a tag html a ser pesquisada.

Cordiais cumprimentos,

Apocsantos

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Posted

Bem, isso também não funcionou, porém já não preciso dessa função! Obrigado a todos por me terem ajudado. 

Ainda não irei encerrar o tópico pois a dúvida ainda não foi corretamente respondida.

 

Boa sorte a todos e bons código!

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.