c# - 在 Watin 中调用 Javascript

标签 c# javascript .net watin

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

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

它似乎找不到函数,因为它抛出“JavaScriptException”“属性‘myFunctionCall’的值为 null 或未定义,不是函数对象”

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

总而言之,我想调用 javascript 方法。有什么想法吗?

谢谢!

最佳答案

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

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

希望对您有所帮助!

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

关于c# - 在 Watin 中调用 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10727379/

相关文章:

javascript - 比较javascript中两个变量是否引用同一个对象

c# - WebBrowser Control .NET - 与此控件交互的预期方式是什么?

ASP.NET 浏览器上限更新

c# - 使用Regex匹配SQL连接字符串的部分

c# - 如何在 LINQ-to-SQL 中模拟正则表达式

c# - 旋转方 block 的 6 个面

c# - "Order by Col1, Col2"使用 Entity Framework

javascript - 我如何确定 ng-options 何时完成更新 DOM?

JavaScript 'for' 循环

.net - 我应该在 Web API 服务与其客户端之间共享类型吗?还有哪些其他选择?