이 문제에 대한 해결책을 찾으려고합니다.클릭 후 업데이트 된 콘텐츠를 얻으려면 어떻게해야합니까?
- 열기 페이지 anche는
- 가 새로운 내용을 읽어 다시 새로운 링크를 얻을 결과의 두 번째 페이지를 얻기 위해 특정 링크를 링크 (매김 링크)에
- 클릭을 얻을 .... 당신이 볼 수 있듯이 나는 반복 내부의 두 단계를
var page = 1;
function getLinks() {
var links = __utils__.getElementsByXPath('//div[@class="myDiv"]//a');
return Array.prototype.map.call(links, function(e) {
return e.getAttribute('href')
});
}
casper.start("www.example.com", function(){
//
})
casper.repeat(2, function() {
this.then(function(){
links = this.evaluate(getLinks);
links = links.concat(links);
});
this.then(function(){
page++;
this.clickLabel(String(page), 'a');
});
});
:
이 내 casperjs 응용 프로그램의 일부입니다. 두 페이지 만 확인하면되므로 2를 설정했습니다.
현재 내 문제는 "클릭"입니다. 새 URL이 호출 되었기 때문에 작동하지만 문제는 첫 번째 단계가 즉시 실행되어 새 내용이 완전히로드되지 않는다는 것입니다. 그래서 getLinks()를 다시 호출 할 때 나는 여전히 이전 내용을 작업한다.
분명히 페이지가 완전히로드되면 getLinks하고 싶습니다. 내가 어떻게 해 ?
감사합니다.
'setTimeout'는이 시나리오에 적용되지 않습니다 : 나는 페이지 번호가
page=x
로 URL의 내부에 있다고 가정한다. –