Search code examples
c#geckogeckofx

How Can Execute Javascript Commands via GeckoFX


I try to execute a javascript command like alert('test message') via GeckoFX and C# but I can not.

I try without results with Navigate and with ExecuteCommand

My code is

    int i=0;    
    GeckoWebBrowser webBrowser
    webBrowser.Navigate("alert('"+i.ToString()+"');");
    webBrowser.ExecuteCommand("alert('" + i.ToString() + "');");

Can anyone help me?


Solution

  • You can use AutoJSContext to run javascript with geckofx.

    Something like:

    GeckoWebBrowser browser = ....;
    
    using (AutoJSContext context = new AutoJSContext(browser.JSContext))
    {                               
       string result;
       context.EvaluateScript("3 + 2;", out result)
    }
    

    See EvaluateScript unittests for more info and examples.

    If you are using a super old version of geckofx you may need to get a later version - geckofx