如何从嵌入式 Chromium 控件中执行 JavaScript 来获得结果

How do I get the result from executing JavaScript in an embedded Chromium control?

本文关键字:JavaScript 结果 执行 嵌入式 Chromium 控件      更新时间:2023-09-26

如何执行JavaScript并在DCEF3中获取其结果?如果有人能写一个简单的例子来说明如何做到这一点,我将不胜感激。

我可以使用下面的代码执行JavaScript,但它不提供结果。

Browser.MainFrame.ExecuteJavaScript('app.doit(''foo'')', '', 0);
这是我

的工作:使用'console.log()' JS命令。这个想法是运行所需的JS代码并将结果记录到控制台;在此之后,您可以拦截控制台消息并获取结果。

例:

var a = 1; 
var b = 2;
var result = a + b;
console.log(result);
return result;

这不是理想的,但对我有用。

来自 python 实现 wiki:

此函数异步执行,因此无法获取返回值。在 CEF 3 中无法从本机代码同步调用 JavaScript。也不可能以相反的方式同步进行,即。JS->原生。