CasperJS并发请求

2024-01-11

假设我有一个网址数组。我不想使用打开功能。因为它会等待之前的每个 url 被加载,从而减少加载时间。

 casper.each(hrefs,function(self,href){
      self.thenOpen(href,function(){ });
      self.then(function(){
        //  Selectors
     });

});

与上述方法相比,您会使用什么方法来减少花费?在数据库中创建多个实例存储然后获取会有效吗?但这很令人头痛。并且还希望您回答一下,当我同时运行同一 js 文件的多个实例时,我是否会遇到问题?


如果您不关心正在打开的所有 URL 之间的行为同步,那么您应该为每个 URL 启动多个 casper 实例。这是一个例子:

var casperActions = {
  href1: function (casper) {
    casper.start(address, function() {...});
    // tests and what not for href1
    casper.run(function() {...});
  },
  href2: function (casper) {
    casper.start(address, function() {...});
    // tests and what not for href2
    casper.run(function() {...});
  },
  ...
};

['href1', 'href2', ...].each(function(href) {
  var casper1 = require('casper').create();
  casperActions[href](casper);
});

每个实例都将彼此独立运行,但它允许您同时访问多个 URL。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CasperJS并发请求 的相关文章

随机推荐

  • 在“adb反向”上出现两次“错误:关闭”

    我正在尝试通过 ADB 反向转发端口 但它只返回以下神秘错误error closed 正常转发工作 会话片段 adb forward tcp 59778 tcp 59778 adb forward list 015d2109ce0c1a0f
  • bash trap 不会忽略信号

    请考虑这个 bash 脚本 bin bash trap INT echo sleep sleep 5 echo rsync rsync a usr lib var tmp 正如预期的那样 尝试使用 ctrl c 中断睡眠失败 但是rsync
  • 为什么“transform(s.begin(),s.end(),s.begin(),tolower)”不能编译成功?

    给出代码 include
  • 如何防止在代码更改时必须重建映像

    我开始在个人项目中使用 Docker 并意识到这将我的开发时间增加到了无法接受的程度 如果我必须为每次代码更改重建映像 我宁愿启动 LXC 实例 我听说有一种方法可以安装它 但不确定具体如何进行 我还有一个 docker compose y
  • 删除[]对象数组

    我已经分配了对象数组 Objects array new Objects N 我应该如何删除这个数组 只是 delete array 或者迭代数组的元素 for int i 0 i
  • Jinja2 中的稳定排序

    可以应用排序过滤器 http jinja pocoo org docs templates sort在 Jinja2 中 首先按一个属性对列表进行排序 然后再按另一个属性排序 这似乎是很自然的事情 但在我的测试中 前面的排序完全不稳定 所有
  • 如何检测正在使用哪个 .NET 运行时(MS 与 Mono)?

    我想知道程序执行期间是使用 Mono 运行时还是 Microsoft 运行时执行 我当前正在使用以下代码来确定我是否在 MS CLR 上 static bool IsMicrosoftCLR return RuntimeEnvironmen
  • 如何确定分离的 pthread 是否还活着?

    如何确定分离的 pthread 是否仍然存在alive 我有一个与线程的通信通道 一个从线程向外指向的单向队列 但是如果线程dies没有喘息 我应该放弃使用流程吗signals或者我可以probe以某种方式提高线程活力 对于可连接 即不分离
  • 将 for wait...of 与同步迭代一起使用

    MDN says https developer mozilla org en US docs Web JavaScript Reference Statements for await of for await of有两个用例 The f
  • 选择文本并从标签 Xamarin 表单中复制

    几天来 我一直在不同的论坛上阅读有关选择文本并从 xamarin 表单中的标签本地复制文本的问题 这似乎不是实现此目的的直接方法 我的问题是 我需要在标签中显示书中的大量数据 并且用户应该能够从标签中选择和复制文本块 我继续在编辑器组件中呈
  • 将只读导航属性配置为构造函数参数

    我有以下型号 public class Session public string Id get set public IList
  • 根据数据内容创建 RecyclerView 项目布局

    我正在创建数据对象的回收器视图 每个对象都会有所不同 例如 对象1 字符串标题 字符串描述 图像 对象2 字符串描述 对象3 图像 字符串链接 目标4 字符串描述 视频 etc 因此 我需要动态创建项目布局以适合每个数据对象 我不想创建一个
  • 如何在 PowerShell 中使用 REST API 在 TFS 中创建错误?

    我正在尝试使用 PowerShell 中的 REST API 使用下面的代码在 TFS 中创建一个错误 但我无法弄清楚如何填充 Bug具有这些参数和数据名称的变量 Param string vstsAccount MyAccountName
  • 安装插件后在 Firefox 中打开我的页面

    HI 我正在尝试在安装后第一次重新启动 Firefox 后打开我的主页 为此 我在加载页面上添加事件处理程序 并检查该事件第一次执行的位置 window addEventListener load initializeOverlay fal
  • 在 R 中将 unicode 字符保存为 .pdf

    我想将特定的 unicode 字符保存到 pdf 文件中ggsave 示例代码 library ggplot2 ggplot geom point data data frame x 1 y 1 aes x y shape u2191 ge
  • ArrayList中存储不同类型

    我想将元素存储在列表中 每个元素有4个参数 我正在尝试创建一个数组列表 为每个元素存储 4 个参数 它们是不同类型的 iD intx位置 浮动y 位置 浮动名称 字符串 I use ArrayList
  • SyntaxError:使用 jQuery.ajax() 的标签无效

    我正在尝试使用以下命令对我的服务器进行 Ajax 调用jQuery call ajax type GET dataType jsonp url http iceworld sls atl com api cmd time success f
  • Python 检查 gzip 存档的完整性

    Python 中有没有办法使用 gzip 或其他模块来检查 gzip 存档的完整性 基本上 Python 中是否有与以下内容等效的内容 gunzip t my archive gz 哎呀 第一个答案 现已删除 是误读问题的结果 我建议使用g
  • 什么是 IllegalStateException?

    我正在尝试使用遵循 Fastload API http developer teradata com doc connectivity jdbc reference current samp T20208JD java txt 连接 等都是
  • CasperJS并发请求

    假设我有一个网址数组 我不想使用打开功能 因为它会等待之前的每个 url 被加载 从而减少加载时间 casper each hrefs function self href self thenOpen href function self