gpt4 book ai didi

javascript - CasperJS getElementsByXPath 只返回第一个元素

转载 作者:数据小太阳 更新时间:2023-10-29 04:46:31 29 4
gpt4 key购买 nike

我使用以下代码获取第一个表格行中的所有表格单元格。然后我想检查每个表格单元格的 innerHTML。但是在这个函数返回的对象中实际上只有第一个表格单元格在那里,所有其他属性都是空的:

firstRow = this.evaluate(function () {
return __utils__.getElementsByXPath('//tbody/tr[1]/td');
});

utils.dump(firstRow);

utils.dump 的输出是:

[
{
"abbr": "",
"align": "",
"attributes": {...}
},
null,
null,
null
]

我也尝试过使用 utils.findAll,结果是一样的。如何获取所有匹配的元素?

最佳答案

使用 Casper/PhantomJS evaluate() 函数,您必须将原生 DOM 元素和元素列表映射到 JSON 可序列化的内容:

var firstRow = this.evaluate(function () {
var elements = __utils__.getElementsByXPath('//tbody/tr[1]/td');
return [].map.call(elements, function(element) {
return element.outerHTML;
});
});

utils.dump(firstRow);

关于javascript - CasperJS getElementsByXPath 只返回第一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13414606/

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