0

我正在尝试使用 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 收到 Unexpected Exception 错误,有什么帮助吗?

4

1 回答 1

0

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

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

进入您的脚本并将您的所有 $ 更改为 jQuery 以使其按您希望的方式工作。看看这个问题和答案

其次,我建议使用 CSS 或 Xpath 选择器执行此操作,并分别验证帖子和评论部分。它会让你花更少的时间来弄清楚你需要什么。

于 2012-07-30T01:57:35.783 回答