Я пытаюсь получить доступ к странице с помощью casperjs и сделать снимок экрана, а затем «нажимать дальше» (и снимать снимок экрана с каждой страницы), в то время как селектор «следующий» существует на странице.Щелчок на следующей странице, когда селектор существует на странице AJAX
Мой код работает на сайтах без ajax, но не на другом сайте, который использует ajax. В основном, со страницей, которая включает в себя Ajax, это то, что происходит:
- доступа к странице 1 и снятия скриншотов
- нажмите кнопку Далее, чтобы перейти к следующей странице
- Сейчас мы находимся на странице 2, возьмите другой Скриншот
- снова нажмите кнопку Далее, чтобы перейти на страницу 3 ...
- мы возвращаемся к странице 1. (мы должны быть на странице 3)
Workin г пример (сайт без AJAX):
function printscreen() {
this.capture('Step' + new Date().valueOf() + '.png'); // take screenshot
var nextlink = 'input[name="ctl00$cphMain$Btn_GoNext"]'; // selector
if (this.visible(nextlink)) {
this.thenClick(nextlink);
this.wait(5000);
this.then(printscreen);
} else {
this.echo("END")
} // click next and run again or end
}
var casper = require('casper').create({ logLevel: "debug", verbose: true });
casper.start('http://www.vertentehumana.pt/candidatos/ofertas-de-emprego.aspx').then(printscreen);
casper.run(function() { this.echo('finished'); this.exit(); });
Не работает (только возвращает страница 1 и 2, а затем повторить):
function printscreen() {
this.capture('Step' + new Date().valueOf() + '.png'); // take screenshot
var nextlink = '#ctl00_ctl00_MainContent_MainContent_dvwListItems_PGB a.dxp-button.dxp-bi:nth-of-type(1)'; // selector
if (this.visible(nextlink)) {
this.thenClick(nextlink);
this.wait(5000);
this.then(printscreen);
} else {
this.echo("END")
} // click next and run again or end
}
var casper = require('casper').create({ logLevel: "debug", verbose: true });
casper.start('http://www.slot.pt/JobVacancies').then(printscreen);
casper.run(function() { this.echo('finished'); this.exit(); });
Как я могу решить эту проблему? И как ограничить n (скажем, 10) запросов?
Ссылки обрываются или становятся недоступными другим. Пожалуйста, включите разметку панели пейджера в самом вопросе, чтобы будущие читатели поняли ответы. –