每次使用CasperJS更改URL时如何获取页面标题

时间:2015-06-30 20:16:35

标签: javascript events phantomjs casperjs

我已经检查了CasperJS文档,似乎没有任何事件可以让我在导航时访问当前文档。那么每次有导航时都可以获得页面的新标题吗?

2 个答案:

答案 0 :(得分:2)

加载另一个URL后会立即发出<url.changed,这通常意味着标题也已更改。它似乎不会在页面加载结束时发出,因此您还需要为CasperJS添加一个步骤,以等待页面加载。

casper.on("url.changed", function(){
    this.then(function(){
        this.echo(this.getTitle());
    });
});

您可以完全相同的方式使用navigation.requested事件。

答案 1 :(得分:0)

这是接受的答案的非常 更快版本,如果您要处理许多URL更改,将会有很大的不同:

casper.on('url.changed', function () {
  this.then(function () {
    console.log(this.page.title);
  });
});