我试图刮伤:http://search.bgc-group.com/Default.aspx
当我运行代码时,我总是收到第一页。
我的代码:
var casper = require('casper').create({
verbose: true,
logLevel: "debug",
type: 'xpath',
});
casper.start('http://search.bgc-group.com/Default.aspx');
casper.thenOpen('http://search.bgc-group.com/Default.aspx', {
method: 'post',
data: {
'__EVENTARGUMENT': 'Page$4',
'__EVENTTARGET': 'ctl00$body$ctlJobListing1$gvJobListing',
'__EVENTVALIDATION': '',
'__PREVIOUSPAGE': '',
'__VIEWSTATE': ''
}
});
casper.then(function() {
this.echo('POSTED it.');
this.capture("test.png")
});
casper.run();
我没有在实际代码中将__EVENTVALIDATION
,__PREVIOUSPAGE
和__VIEWSTATE
字段留空。刚跳过这里,因为它们很长。
答案 0 :(得分:1)
您可以执行以下操作,而不是casper.thenOpen
阻止:
var x = require('casper').selectXPath;
casper.thenClick("a[href*='Page$4']");
casper.waitForSelector(x("//td/span[text()='4']")); // might be unnecessary