【问题标题】:Stop a navigation request in Casper JS在 Casper JS 中停止导航请求
【发布时间】:2014-09-04 14:30:02
【问题描述】:

我正在尝试使用 casper 抓取网站,当页面加载时,我看到有很多带有 isMainFrame = false 的导航请求。我猜这些是广告。来自详细日志的示例 -

[debug] [phantom] Navigation requested: url=https://static.licdn.com/scds/common/u/lib/inject/0.4.2/relay.html?swf=https://static.licdn.com/scds/common/u/lib/inject/0.4.2/relay.swf&xdm_e=https://www.linkedin.com&xdm_c=default3784&xdm_p=1, type=Other, willNavigate=true, isMainFrame=false

这确实减慢了脚本的速度,我不希望 casper 花费时间来获取/导航到这些 URL。

为了阻止这些,我想我必须抓住事件navigation.requested 并在那里停止。但我不确定如何停止导航。

我想我将不得不做这样的事情 -

casper.on 'navigation.requested', (url, navigationType, navigationLocked, isMainFrame) ->
      if not isMainFrame
         //stop this navigation
      else
        //proceed normally

知道我该怎么做吗?

【问题讨论】:

    标签: phantomjs casperjs


    【解决方案1】:

    遇到了同样的问题。探索了来源。

    目前看来,如果不打补丁,您将无法做到这一点。

    可以做的就是在hosts 文件中添加一个条目,以便此请求将很快完成。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多