继续检查选择器,如果未找到,请单击分页



我正在尝试设置一个CasperJS脚本,该脚本将在个人网站上进行一些测试。

我需要检查选择器,如果在页面上找不到它,请单击分页中的下一页链接并再次检查。

我正在努力解决这个问题以及如何解决它。我知道我需要某种循环,我什至尝试了一段时间((循环,但我对 CasperJS 的了解不足以让它工作。

我想要什么的基本想法,在伪代码中:

open page http://www.example.com
check if 'li.my-class' exists
if not
    click '.next-page'
    then check again for 'li.my-class'
    (repeat this process)
else
    'li.my-class' exists, go do something else

我尝试阅读有关waitFor,waitforSelector等的信息。该文档对我没有多大帮助,因为它在示例方面非常基本。

我建议你使用递归,尤其是递归IIFE。以下是实现:

var casper = require('casper').create();
casper.start('http://www.example.com');
(function go() {
  casper.wait(1000, function () {
    if (!this.exists('li.my-class')) {
      this.click('.next-page');
      go();
    } else {
      // Do something...
    }
  });
})();
casper.run();

最新更新