查找执行Javascript $()的状态

时间:2013-02-28 12:00:38

标签: selenium-webdriver robotframework

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

有没有办法找出这个陈述是否成功?我们可以将某些内容返回到变量中并检查变量的值吗?

例如

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

1 个答案:

答案 0 :(得分:1)

如果您正在使用SeleniumLibrary,那么it uses Selenium RC,而不是Selenium WebDriver(因为您最初标记了您的问题)。

因此,是的,Selenium RC's getEval() method returns a String,所以你will be able to return String values from your scripts,但仅此而已:

  

获取评估指定JavaScript代码段的结果。该   片段可能有多行,但只有最后一行的结果   将被退回。

您的JavaScript代码段中不需要return语句,始终返回最后一行。


如果您正在使用Selenium2Library,那么是的,确定,甚至是the docs say so

它在内部使用WebDriver的executeScript(),其中说明了这一点:

  

如果脚本有返回值(即脚本包含返回值)   声明),然后将采取以下步骤:

     
      
  • 对于HTML元素,此方法返回WebElement
  •   
  • 对于小数,返回Double
  •   
  • 对于非十进制数字,将返回Long
  •   
  • 对于布尔值,返回Boolean
  •   
  • 对于所有其他情况,将返回String
  •   
  • 对于数组,请按照上述规则为每个对象返回List<Object>。我们支持嵌套列表。
  •   
  • 除非值为null或没有返回值,否则返回null
  •