Esqueceu sua senha? Você pode usar o mecanismo de lembrete neste link: Recuperar senha

Você receberá um link de reativação no email cadastrado.

Não recebeu o email? Lembre-se checar o Lixo Eletrônico.

Executar função OnClick do java [RESOLVIDO]

A Web está aí, não há como negar. Ela é onipresente em praticamente toda operação eletrônica realizada nos dias de hoje. Como não podia ser diferente, o Excel, ferramenta máxima para analistas e profissionais das mais diversas áreas do mercado precisa estar alinhado com esta necesssidade. E ele está! Neste forum, o debate é focado em expor dúvidas, sugestões, modelos de código e exemplos de uso do Excel na Integração com tecnologias Web.
bruno153
Acabou de chegar
Acabou de chegar
Mensagens: 9
Registrado em: Qui Out 12, 2017 10:59 pm

Executar função OnClick do java [RESOLVIDO]

Mensagem por bruno153 » Qui Out 12, 2017 11:06 pm

Alguém poderia me ajudar tirando um dúvida que tenho entre o VBA e o IE?.
Tenho essa linha de código:
<tr onclick =“showHide(‘group25’, ‘figGroup25’, this);” class="titulo">
E quero saber como executar essa função pelo vba.
Editado pela última vez por bruno153 em Qui Out 19, 2017 1:12 pm, em um total de 1 vez.



Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
webmaster
Administrador
Mensagens: 2608
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Executar função OnClick do java

Mensagem por webmaster » Sex Out 13, 2017 6:45 pm

"Daria" para fazer isso:

Código: Selecionar todos

browser.Navigate("javascript:showHide(‘group25’, ‘figGroup25’, this);")
O problema eh o 'this'. Ele representa o componente no qual a funcao esta definida. O melhor a fazer eh achar o elemento e ativar o click.

Att


Tomás
https://www.tomasvasquez.com.br/blog
https://www.tomasvasquez.com.br/cursocsharp
https://twitter.com/tomamais
Se sua dúvida foi solucionada, acrescente [RESOLVIDO] ao título.

Avatar do usuário
PRMPOKER
Manda bem
Manda bem
Mensagens: 194
Registrado em: Ter Dez 04, 2012 8:57 am

Re: Executar função OnClick do java

Mensagem por PRMPOKER » Sex Out 13, 2017 9:13 pm

Boa noite pessoal.

Posso dar um pitaco aqui?

Utilize a função que postei no outro tópico, para utilizar xpath no VBA. Procure o xpath do teu elemento pelo Firebug (no Firefox) e então utilize aquela função para acionar exatamente o elemento desejado. Então poderá acionar o evento Onclick da tua <tr>.

Dá uma pensada e me diz se deu certo!

Um abraço!



Paulinho Monteiro
VBA - Front/BackEnd Developer

Email: falecom@paulinhomonteiro.com
falecompaulinhomonteiro@gmail.com
Whatsapp (54) 9925 340 85
www.paulinhomonteiro.com

Avatar do usuário
webmaster
Administrador
Mensagens: 2608
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Executar função OnClick do java

Mensagem por webmaster » Sáb Out 14, 2017 5:09 pm

PRMPOKER,

O pitaco é super válido. A parte boa é que o XPath também pode ser extraído pelo Chrome pelo inspertor de elementos.

Valeu!


Tomás
https://www.tomasvasquez.com.br/blog
https://www.tomasvasquez.com.br/cursocsharp
https://twitter.com/tomamais
Se sua dúvida foi solucionada, acrescente [RESOLVIDO] ao título.

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


bruno153
Acabou de chegar
Acabou de chegar
Mensagens: 9
Registrado em: Qui Out 12, 2017 10:59 pm

Re: Executar função OnClick do java

Mensagem por bruno153 » Seg Out 16, 2017 9:46 am

O problema é que tenho que fazer pelo IE ja que estou trabalho em uma máquina que está com direitos limitados, ou seja, não posso instalar nada.

Já achei o elemento que contém a avaliação que quero mas n consigo executar essa função, tem outras abas do mesmo jeito que consigo porque elas contém a ID. Já tentei click, onclick, fireevent e nada.



Avatar do usuário
PRMPOKER
Manda bem
Manda bem
Mensagens: 194
Registrado em: Ter Dez 04, 2012 8:57 am

Re: Executar função OnClick do java

Mensagem por PRMPOKER » Seg Out 16, 2017 10:06 am

Bom dia pessoal, tudo bem?

Tomáz, tens razão. Já utilizei essa função no CR mas eu acho que me apaixonei pelo FF, hahahahaha... mas sim, são duas maneiras de fazer.

Bruno, entendi a dificuldade: esta função depende da propriedade ID para retornar o elemento, então realmente não vai funcionar.

O mundo perfeito seria adaptar a função para não depender do ID, ou seja, retornar o que for solicitado ou executar algum evento baseado no xpath.

Não tenho muito tempo para analisar e modificar a função por conta de projetos nos quais estou trabalhando. Vamos propor um desafio aos colegas para conseguir uma ajuda para adaptar a função?

Se eu conseguir algo, volto para ajudar.

Um abraço!

Editado:

Deixa eu ver se entendi corretamente: você já tem acesso ao elemento e consegue extrair o InnerText dele?



Paulinho Monteiro
VBA - Front/BackEnd Developer

Email: falecom@paulinhomonteiro.com
falecompaulinhomonteiro@gmail.com
Whatsapp (54) 9925 340 85
www.paulinhomonteiro.com

bruno153
Acabou de chegar
Acabou de chegar
Mensagens: 9
Registrado em: Qui Out 12, 2017 10:59 pm

Re: Executar função OnClick do java

Mensagem por bruno153 » Seg Out 16, 2017 10:32 pm

Sim, eu consigo extrair o innertext dele mas não consigo executar função nele.
Estava pensando se tem alguma forma de definir o ID dele pelo vba, inserir um id dentro da linha.



Avatar do usuário
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1116
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Bragança Paulista - SP

Re: Executar função OnClick do java

Mensagem por Mikel Silveira Fraga » Seg Out 16, 2017 11:11 pm

Fala galera, boa noite.

Gostei desse tópico, esta em alta e bem comentado. Grandes suportes do Tomás e do Paulinho.

Bruno, se não me engano, mesmo o elemento "tr" sendo uma linha de uma tabela, é possível aplicar o Método Click nele.

Se você consegue ler o texto dele, no caso o innerText, é possível realizar o Click no mesmo.

Tente substituir o innerText pelo Click e veja se funciona.

Caso não dê certo, sei que existe uma outra forma de ativar uma função JS, armazenada dentro de um evento como o onClick. Inclusive já postei uma apostila aqui, que pode ser baixada pelo link abaixo:
- [APOSTILA] Uso Biblioteca Microsoft Internet Control

Teste a sugestão, leia a apostila e nos retorne o resultado.

Abraços!!!


Gostou da dica? Clique no JOIA no topo da mensagem.
Esclareceu suas dúvidas? Acrescente ao título do tópico a expressão: [RESOLVIDO].
Orientações sobre o fórum, acesse aqui.

Mikel Silveira Fraga
E-mail: mikel-sf@hotmail.com | Skype: mikelsf | Linked In

Avatar do usuário
PRMPOKER
Manda bem
Manda bem
Mensagens: 194
Registrado em: Ter Dez 04, 2012 8:57 am

Re: Executar função OnClick do java

Mensagem por PRMPOKER » Ter Out 17, 2017 10:06 am

Bom dia pessoal.

Mikel, seja muito bem vindo ao tópico. Você sempre enriquece e abrilhanta nossas discussões. Aliás, parabéns pela excelente apostila. Eu não a conhecia e já adicionei na minha biblioteca. :D

Tem uma maneira que eu utilizo em meus projetos, adaptada com informações da apostila do Mikel, que pode dar certo para resolver a questão: Bora testar?

Código: Selecionar todos


Dim elemCollection As Object
    Dim obj As Object
    
    Set elemCollection = ie.Document.getElementsByTagName("td")
    
    For Each obj In elemCollection 'Loop para localizar se existe a td com a propriedade procurada.
    
        If obj.class = "titulo" Then
        	msgbox obj.class 'Linha incluída para testar se o código identifica corretamente a propriedade.
		ie.Document.parentwindow.execscript (“showHide(‘group25’, ‘figGroup25’, this);”) 'Executa o JavaScript sem clicar no botão
        End If

    Next obj

Bruno, nos avisa aí.

Um abraço e bom dia a todos.



Paulinho Monteiro
VBA - Front/BackEnd Developer

Email: falecom@paulinhomonteiro.com
falecompaulinhomonteiro@gmail.com
Whatsapp (54) 9925 340 85
www.paulinhomonteiro.com

Avatar do usuário
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1116
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Bragança Paulista - SP

Re: Executar função OnClick do java

Mensagem por Mikel Silveira Fraga » Ter Out 17, 2017 2:39 pm

Boa tarde a todos.

Grande Paulinho, essa apostila não é minha e sim de um grande usuário chamado Pedro, o qual tinha um blog excelente sobre VBA e VSTO. Infelizmente o mesmo teve que cancelar o blog, o qual tinha um conteúdo fantástico.

Sobre o modelo que você postou, existe apenas um problema que estou suspeitando: identificar um conteúdo pelo Atributo Class é problemático, pois geralmente esse Atributo possuí o mesmo valor em vários Elementos HTML.

Como exibido pelo amigo Bruno, o onClick vai para o Group 25 e, se analisarmos nesse ponto de vista, existem outros 24 elementos na mesma situação.

Se minha análise estiver correta, o ideal seria um código que seguisse uma das duas sugestões abaixo:

1ª) Usar o seu código Paulo, sendo que teria que ter a opção para os demais Groups, ou seja, um Select Case ou If ElseIf Then, para identificar o grupo que o usuário deseja;

2ª) A sugestão que dei anteriormente sobre o evento Click no elemento "tr", gerando uma coleção com base no valor do Atributo Class e ativando o Click via identificação índice dos elementos.

Porém, fica muito difícil saber exatamente qual a forma de se conseguir resolver o problema, sendo que temos apenas uma linha do HTML para analisar e sem poder realizar testes.

Fica a mais um pitaco da minha parte.

Abraços a todos.


Gostou da dica? Clique no JOIA no topo da mensagem.
Esclareceu suas dúvidas? Acrescente ao título do tópico a expressão: [RESOLVIDO].
Orientações sobre o fórum, acesse aqui.

Mikel Silveira Fraga
E-mail: mikel-sf@hotmail.com | Skype: mikelsf | Linked In

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder