Execute Javascript $('*:contains("Success"))
有没有办法找出这个陈述是否成功?我们可以将某些内容返回到变量中并检查变量的值吗?
例如
${var1} = Execute Javascript $( )
if ${var1} = ""
答案 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