我是 casperjs 的新手,我遇到了 evaluate() 函数的问题。
HTML 代码(我现在无法更改)
<table>
<tr>
<td>Price</td>
<td>some other field</td>
<td>blah</td>
<td>foo</td>
</tr>
<tr>
<td>125.3</td>
<td>some other value</td>
<td>something else</td>
</table>
目标是开始从这些表中抓取信息,获取每行的第一个 td,然后对它们进行处理。我遇到的问题是“每个”功能没有做任何事情。
我也试过它只是将 tr 返回到一个变量并对其执行 $.each() ,但它也不起作用。each() 在评估中不可用吗?(我的印象是在评估你有大部分的 jQuery 方法)
var evaluatedItems = this.evaluate(function() {
var items = [];
$("td").filter(function() { return $.text([this]) == 'Price'; }).closest('table').find('tr').each(function() {
var col = $(this).find('td:first');
require('utils').dump(col);
items.push(col);
});
return items;
});