作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我使用以下代码获取第一个表格行中的所有表格单元格。然后我想检查每个表格单元格的 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/
我使用以下代码获取第一个表格行中的所有表格单元格。然后我想检查每个表格单元格的 innerHTML。但是在这个函数返回的对象中实际上只有第一个表格单元格在那里,所有其他属性都是空的: firstRow
下面给出了我的 casper.js 测试脚本的片段; var refObject = undefined; casper.then(function() { refObject = this.ev
我正在从网站上抓取足球比分数据。所有分数都在表格中,每个 后面有“block home matches 17”和一些独特的东西。 我在 Chrome 开发工具中测试了我的 xpath,它仅识别我需要的
我是一名优秀的程序员,十分优秀!