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()를 수행했지만 또한 작동하지 않았다. 각()을 평가할 수 없게 만들었습니까? 코멘트를 읽은 후
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