phantomjs - 停止 Casper JS 中的导航请求

标签 phantomjs casperjs

我正在尝试使用 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

知道我该怎么做吗?

最佳答案

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

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

可以做的是在hosts文件中添加一个条目,以便该请求能够非常快地完成。

关于phantomjs - 停止 Casper JS 中的导航请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25668130/

相关文章:

javascript - 如何查找字段名称并填充其值?

phantomjs - CasperJS/PhantomJS 无法打开 Facebook

.net - 在 .NET 中运行 BAT 程序

ruby - 返回空白页的最小 Capybara/Poltergeist 测试

javascript - 在 CasperJS 中跨域下载文件

javascript - casperjs滚动弹出层

node.js - 将 phantomJS 部署到 node.js 应用程序?

coffeescript - PhantomJS具有多个页面的意外加载行为

javascript - 使用 casperjs 解析 img url

javascript - CasperJS 使用 fill() 方法登录失败