zoukankan      html  css  js  c++  java
  • zombie 试用

    以前有大概介绍过zombie,以下是一个简单的试用

    环境准备

    • nodejs 项目
    yarn init -y
    • npm scirpt
    {
      "name": "second",
      "version": "1.0.0",
      "main": "index.js",
      "license": "MIT",
      "dependencies": {
        "zombie": "^6.1.4"
      },
      "scripts": {
        "start": "node app.js"
      }
    }
    • app.js
    const Browser = require('zombie');
    const browser = new Browser();
    browser.visit('https://www.baidu.com/', function() {
      const value = browser.window.document
      console.log(value.body.innerHTML);
    });

    运行&&效果

    • 运行
    yarn start
    • 效果

    从以下图片可以看出zombie更好的模拟了浏览器的处理,加载了需要的资源

    说明

    zombie 能帮助我们模拟大部分请求,但是也有一些场景可能不行(不如卡住,或者异常)出现类似问题,我们可以开启调试模式
    如下,查看请求

     
    {
      "name": "second",
      "version": "1.0.0",
      "main": "index.js",
      "license": "MIT",
      "dependencies": {
        "zombie": "^6.1.4"
      },
      "scripts": {
        "start": "DEBUG=* node app.js"
      }
    }

    zombie 提供的api
    Browser包含了断言以及一些dom 相关的api,可以方便我们操作dom
    Assertions 提供的比较完整的断言处理
    Cookies,提供了访问cookie 的能力
    Tabs 提供了类似chrome 的tab 管理能力
    Debugging 提供了调试能力
    Events 提供了事件机制,我们可以处理浏览器的事件
    Resources 提供资源的管理能力,html,js,xhr 请求
    Pipeline 实现pipeline 模式的数据处理

    参考资料

    https://github.com/assaf/zombie

  • 相关阅读:
    ios之单例模式
    ios之申请后台延时执行和做一个假后台的方法
    ios之gcd浅析
    ios之归档demo
    ios之快速领会VFL的demo
    ios之网络异常与正常视图的切换
    POJ 2280 Amphiphilic Carbon Molecules 极角排序 + 扫描线
    linux pthread
    directdraw显示yuv422(yuy2)
    nginx高效学习方法
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/13023621.html
Copyright © 2011-2022 走看看