我有一个casperjs脚本,其中包含一堆这样的片段:
casper.click('.some-class')
casper.waitForSelector(
'.some-class-on-the-next-page',
function () { console.log('do stuff') },
function () { console.log('do timeout stuff') }
)
当我在详细/调试模式下运行casper时,我可以看到调用的click get触发了一个页面导航,但它在我的任何一个回调函数被调用之前都会挂起很长时间。我在控制台中看到的最后一行是:
[debug] [phantom] url changed to "http://some.url/"
导航的页面启动了大量需要10分钟以上才能加载的JSON请求。我认为page.resource.requested是过滤掉这些请求并加快我的脚本的方法,而这些脚本无论如何都不依赖于这些JSON资源。
有更好的方法吗?我想象一个casper wait *函数,无论页面所请求的资源是什么,它都可以在页面上检测到选择器时立即检测到。