Selenium 异常:“不在函数中返回”

发布于 2024-11-01 18:01:52 字数 410 浏览 0 评论 0原文

我正在 C#.Net 中编写 Selenium 测试脚本,并且不断遇到此异常 -

ERROR: Threw an exception: return not in function

这是引发错误的代码行 -

string code = selenium.GetEval(
   "var win = this.browserbot.getUserWindow(); "+
   "return win.editAreaLoader.GetValue(win.loadedCodeEditorID);"
);

任何人都可以建议为什么会出现异常以及获取返回值的最佳方法是什么来自 GetValue javascript 函数?

谢谢,

萨萨克

I am writing Selenium test scripts in C#.Net and I keep bumping into this exception -

ERROR: Threw an exception: return not in function

Here is my line of code which throws the error -

string code = selenium.GetEval(
   "var win = this.browserbot.getUserWindow(); "+
   "return win.editAreaLoader.GetValue(win.loadedCodeEditorID);"
);

Can anyone please suggest why the exception is coming and what could be the best way to get a return value from GetValue javascript function?

Thanks,

Saarthak

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

薄凉少年不暖心 2024-11-08 18:01:52

来自 selenium 文档 对于 GetEval

获取评估结果
指定的 JavaScript 片段。这
片段可能有多行,但是
只有最后一行的结果才会
被退回。

因此,您只需省略 return 即可:

string code = selenium.GetEval(
   "var win = this.browserbot.getUserWindow(); "+
   "win.editAreaLoader.GetValue(win.loadedCodeEditorID);"
);

From the selenium documentation for GetEval:

Gets the result of evaluating the
specified JavaScript snippet. The
snippet may have multiple lines, but
only the result of the last line will
be returned.

Therefore you simply need to leave off the return:

string code = selenium.GetEval(
   "var win = this.browserbot.getUserWindow(); "+
   "win.editAreaLoader.GetValue(win.loadedCodeEditorID);"
);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文