WebBrowser: Injetar (Executar) script na página

Irei mostrar por meio deste post como fazer para injetar um script(Em JavaScript) em uma página web carregada em um controle WebBrowser. Eis o código:

VB.NET:

    Public Sub InjectScript(Script As String)
        WebBrowser1.Document.InvokeScript("eval", New Object() {Script})
    End Sub

C#:

    public void InjectScript(string Script)
    {
	WebBrowser1.Document.InvokeScript("eval", new object[] { Script });
    }

Basicamente, eu uso a função InvokeScript da propriedade Document do controle WebBrowser para chamar a função global eval() do JavaScript.

A função eval() computa ou executa um argumento passado para ela. Se o argumento for uma expressão matemática eval(), irá retornar o resultado do cálculo. Se o argumento for um ou mais trechos de códigos, eval() irá executa-los e, caso o trecho retorne algum valor, o mesmo será retornado por eval(), e em última instância, por InvokeScript.

Veja este outro post com um outro exemplo: Windows Phone e o WebBrowser: Manipulando o DOM da página | Herbert.Lausmann

Então, basta chamar a rotina InjectScript informando no parâmetro o script que você deseja executar na página. Você pode transformar o método InjectScript em uma função, caso queira que o script retorne algum valor. 🙂

Anúncios

Deixe um comentário :)

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s