我正在尝试使用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得到了意外的异常错误,有什么帮助吗?
答案 0 :(得分:0)
Selenium不会像firebug那样在上下文中运行javascript。您实际上是从正在测试的窗口外的selenium窗口运行。但永远不要害怕!他们想到了这一点。您需要添加类似
的内容 var jQuery=selenium.browserbot.getUserWindow().jQuery;
进入你的脚本并将所有$更改为jQuery,使其按照你想要的方式工作。看看这个question and answer。
其次,我建议使用CSS或Xpath选择器并分别验证帖子和评论部分。它会让你通过更少的箍来弄清楚你需要什么。