1
Execute Javascript  $('*:contains("Success"))

有没有办法知道这个声明是否成功?我们可以将一些东西返回到变量中并检查变量的值吗?

比如像

${var1} = Execute Javascript  $( )
if ${var1} = ""
4

1 回答 1

1

如果您使用的是 SeleniumLibrary,那么它使用 Selenium RC,而不是 Selenium WebDriver (正如您最初标记您的问题)。

因此,是的,Selenium RC 的getEval()方法返回 aString,因此您将能够String从脚本返回值,但仅此而已:

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

无需return在 JavaScript 片段中声明,始终返回最后一行。


如果您使用的是 Selenium2Library,那么是的,当然,即使是文档也这么说

它在内部使用了 WebDriver,它是executeScript()这样说的:

如果脚本有返回值(即如果脚本包含return语句),那么将采取以下步骤:

  • 对于 HTML 元素,此方法返回一个WebElement
  • 对于小数,Double返回a
  • 对于非十进制数,Long返回a
  • 对于布尔值,Boolean返回a
  • 对于所有其他情况,String返回 a。
  • 对于数组,List<Object>按照上述规则返回每个对象的 a。我们支持嵌套列表。
  • 除非值是null或没有返回值,在其中null返回
于 2013-02-28T12:14:04.923 回答