如何通过 GeckoFX 执行 Javascript 命令

A. *_*nis 1 c# gecko geckofx

我尝试通过 GeckoFX 和 C# 执行像 alert('test message') 这样的 javascript 命令,但我不能。

我尝试使用 Navigate 和 ExecuteCommand 没有结果

我的代码是

    int i=0;    
    GeckoWebBrowser webBrowser
    webBrowser.Navigate("alert('"+i.ToString()+"');");
    webBrowser.ExecuteCommand("alert('" + i.ToString() + "');");
Run Code Online (Sandbox Code Playgroud)

谁能帮我?

Tom*_*Tom 7

您可以使用 AutoJSContext 通过 geckofx 运行 javascript。

就像是:

GeckoWebBrowser browser = ....;

using (AutoJSContext context = new AutoJSContext(browser.JSContext))
{                               
   string result;
   context.EvaluateScript("3 + 2;", out result)
}
Run Code Online (Sandbox Code Playgroud)

有关更多信息和示例,请参阅 EvaluateScript 单元测试

如果您使用的是 geckofx 的超旧版本,您可能需要获得更高版本 - geckofx

  • 从版本 22 开始,您将需要 browser.Window.JSContext。 (5认同)
  • 在版本 45 中它只是 `browser.Window` (3认同)