我想知道有没有办法同步点击PhantomJS上的链接(打开链接)。首先必须打开第一页,然后单击第一页上的链接转到第二页。这是我使用setTimeout的方法:
var page = require('webpage').create();
var url = "http://domain.tld/index.html";
page.open(url, function (status) {
page.render("1-home.png");
page.evaluate(function() {
// search for element and click it to redirect
document.getElementById("RetailUser").click();
});
// I use setTimeout to wait for firstpage to get loaded
setTimeout(function () {
// do another process on second page
}, 5000);
}
PS:我知道我可以使用CasperJS完成它。但如果可能的话,我不想使用CasperJS。
答案 0 :(得分:3)
单击链接始终是同步的。之后发生的事情总是异步的,因为JavaScript的异步性质。
有多种方法可以等待下一页:
setTimeout
,waitFor
,page.onLoadFinished
来加载下一页,