使用C#从WebBrowser中的JS中获取值

本文关键字:获取 JS 中的 WebBrowser 使用 | 更新日期: 2023-09-27 17:58:41

我遇到了一个奇怪的行为。我不明白我的错误。我想从HTML页面中读取一个值。我可以通过获得

JavaScript

function getSize() {
    return (size.toString());
}
getSize();

输出(在Chrome控制台中)

120

C#

// wBrowser is not null and the page is loaded
String o = wBrowser.InvokeScript("eval", "getSize();").ToString();
Debug.WriteLine(o);

此处o为空。

我阅读了msdn文档,尝试了一些研究,但没有成功。我错过了什么?

谢谢。

使用C#从WebBrowser中的JS中获取值

嗯。。。

刚刚发现我的错误。我的解决方案正在发挥作用。卢卡斯的解决方案同样有效。

我只是忘了把运行模式从Release切换到Debug。。。

因此,有效的解决方案是:

String o1 = wBrowser.InvokeScript("eval", "getSize();").ToString();
// Lukasz's 1st solution
String o2 = wBrowser.InvokeScript("getSize").ToString();
// Lukasz's 2nd solution
String o3 = wBrowser.InvokeScript("eval", "size.toString();").ToString(); 

两者都打印正确的尺寸。

也许这对其他人有帮助。。。