有没有人知道一个简单的方法来迭代,并操作,所有的元素匹配使用API查询?
我最简单的用例是这样的-不是真正的代码,但希望你知道我在寻找什么。test.query('textarea').each(function(v, i){
this.type(v.id, 'test' + i);
});
我可以用任意JS执行,jQuery等。我只是觉得这可能是戴立克做的我没注意到的事情
谢谢!
编辑
原来我的JS执行备份不工作…
test
.execute(function(){
var textareaIds = [];
(function($){
$('textarea').each(function(){
textareaIds.push($(this).attr('id'));
});
})(window.jQuery);
this.data('textareaIds', textareaIds);
});
但是可能由于代码排队然后执行的性质,您不能在之后的for循环中使用数组。我错过什么了吗?
我们将在即将到来的DalekJS版本中改进API会话,因此迭代DOM元素&客户端执行的JavaScript之间的交互&作为测试的一部分,在服务器上执行的JavaScript将会非常繁琐。
关于你的不工作执行的例子。您不能仅仅在之后的Node代码中使用通过this.data
传递的数据,您需要将其添加到链中。由于这是一个非常实验性的功能,我们并没有真正实现一个可以稍后处理数据的API。
log.message
方法:
.execute(// your code)
.log.message(function () {
// get the data
var myArray = test.data('textareaIds');
// do something with it
require('fs').writeFileSync('myFile.txt', JSON.stringify(myArray));
})
我想这不是你想要/需要的,但是在进一步的测试和断言中重用这些数据是不可能的。但是我们正在努力。