4

我正在尝试使用 C# eval 调用执行一些 JavaScript。

browser.Frames[1].Eval("myFunctionCall(" + Id + ", 1, " + RowNumber + ");");

它似乎找不到该函数,因为它抛出了一个 'JavaScriptException' “属性 'myFunctionCall' 的值为 null 或未定义,而不是函数对象”

这是背后的故事。
我通过跟踪 JavaScript 发现这是单击感兴趣元素时调用的函数。所以我在浏览器中打开页面并执行这个 JavaScript。加载时,出现上述错误。
我是初学者,我不确定如何调用远程引用的 JavaScript。

总之,我想调用javascript方法。有任何想法吗?

谢谢!

4

1 回答 1

1

我将首先确保在 WatiN 中使用包含该函数的 JavaScript 时实际加载它。您可以尝试在调用之前声明该函数。

Browser.Eval(
  "function myFunctionCall(Id, Num, RowNumber) {" +
  " var a = 0;" +
  " var b = 0;" +
  "}" + 
  "myFunctionCall(" + Id + ", 1, " + RowNumber + ");");

希望能帮助到你!

此外,请确保该功能可从您的框架中使用。换句话说,框架可以访问该功能。

于 2014-08-08T00:25:14.933 回答