定位器未找到硒 - Javascript

时间:2012-07-29 11:42:09

标签: javascript selenium

我正在尝试使用Javascript片段来确保在另一个中存在两个具有某些文本的div [基本上验证某个帖子上是否存在评论]

JS在firebug上工作但在selenium IDE上失败。

javascript{
  return ($.grep(  $("#Posts li") .map(function(index,element){
    if($(element).has(".puls_content:contains('post text')").length > 0){
      if($(element).has("*:contains('this is a comment')").length > 0) {
        return true
      }
    }
    return false
  }) , function(x){ return x}).length > 0) }

我从selenium-api.js得到了意外的异常错误,有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

Selenium不会像firebug那样在上下文中运行javascript。您实际上是从正在测试的窗口外的selenium窗口运行。但永远不要害怕!他们想到了这一点。您需要添加类似

的内容

var jQuery=selenium.browserbot.getUserWindow().jQuery;

进入你的脚本并将所有$更改为jQuery,使其按照你想要的方式工作。看看这个question and answer

其次,我建议使用CSS或Xpath选择器并分别验证帖子和评论部分。它会让你通过更少的箍来弄清楚你需要什么。