如何在CasperJS中使用setTimeout

时间:2017-08-01 23:58:20

标签: casperjs

在CasperJS中有一个名为evaluate的函数,它是一种进入页面并执行代码的方式,就像使用浏览器控制台一样,如果我使用setTimeout,setInterval或其他异步函数,它就不像指定的那样工作。

StackOverflow中的一些问题使用了wait函数,但wait函数不能在evaluate中使用。我需要使用setTimeout,因为我正在抓取一个包含许多页面的网格,所以当我换到下一页时,我需要等待几秒钟,这就是问题

1 个答案:

答案 0 :(得分:0)

您不能通过Page DOM环境延迟CasperJS环境。

换句话说,您不能在setTimeout()内使用casper.evaluate()来延迟CasperJS程序。

最好使用以下CasperJS函数之一来延迟程序:

请看下面的图表,以更好地了解这两种不同的环境如何工作:

enter image description here 图片来源: CasperJS Documentation