同步在PhantomJS中打开链接

Justmyfreak

我想知道有什么方法可以同步单击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。

Artjom B.

单击链接始终是同步的。由于JavaScript的异步特性,之后发生的事情总是异步的。

等待下一页有多种方法:

  • 的静态时间setTimeout
  • 动态等待符合条件waitFor
  • 通过page.onLoadFinished点击前注册到来加载下一页
  • 等待所有未完成的请求完成(一个两个)或
  • 这四种方法的组合。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章