How Can Execute Javascript Commands via GeckoFX

大城市里の小女人 提交于 2020-01-10 04:33:05

问题


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?


回答1:


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




回答2:


for the new versions instead of geckoWebBrowser1.JSContext you should write geckoWebBrowser1.Window

my code is working and I've answered with sample in another old post here




回答3:


You can use Navigate method to avoid AccessViolatoinException during calling document js function:

webView.Navigate("javascript:$$external.consoleLog('message text');");


来源:https://stackoverflow.com/questions/17803409/how-can-execute-javascript-commands-via-geckofx

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!