0
我是casperjs的新手,我遇到了evaluate()函数的问题。casperJS评估和jQuery方法
的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()就可以了,但它也不起作用。每个()在评估中都不可用吗? (我是在评估你有大部分的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;
});
如果jQuery是的DOM上下文中加载这只作品。 – mike
我该怎么做?谢谢。 (如果你发布了答案,我可以将其标记为已回答)编辑:我在他们的网站上发现了这个:casper.page.injectJs('/ path/to/jquery.js');这是你的建议吗? – matt
我试过了,它仍然没有工作....有没有人有任何建议,使用我的功能(this.evaluate(function(){... – matt