gpt4 book ai didi

javascript - 在 DalekJS 中迭代 DOM 元素

转载 作者:行者123 更新时间:2023-11-28 01:07:24 25 4
gpt4 key购买 nike

有人知道使用 API 迭代和操作与查询匹配的所有元素的简单方法吗?

我最简单的用例是这样的 - 不是真正的代码,但希望你知道我在寻找什么。

test.query('textarea').each(function(v, i){
this.type(v.id, 'test' + i);
});

我可以使用任意 JS exec、jQuery 等来完成此操作。我只是认为 Dalek 可能会做一些我错过的事情

谢谢!

编辑

结果我的 JS exec 备份不起作用...

test
.execute(function(){
var textareaIds = [];
(function($){
$('textarea').each(function(){
textareaIds.push($(this).attr('id'));
});

})(window.jQuery);
this.data('textareaIds', textareaIds);
});

但可能由于代码排队然后执行方式的性质,您之后无法在 for 循环中使用该数组。我错过了什么吗?

最佳答案

我们将在即将推出的 DalekJS 版本中改进 API session ,因此作为测试的一部分,迭代 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));
})

我认为这并不完全是您想要/需要的,但是重新使用该数据进行进一步的测试和断言尚不可能。但我们正在努力。

关于javascript - 在 DalekJS 中迭代 DOM 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24916270/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com