nodejs 中使用 jsdom 模拟浏览器环境

创建日期: 2024-10-26 16:17 | 作者: 风波 | 浏览次数: 15 | 分类: 前端

来源:阿里通义千问

0. 部署 nodejs 环境

  1. 下载 nodejs 二进制文件,找个地方解压

  2. 设置环境变量

export PATH=/ndata/video/crawler/bin/node-v20.17.0-linux-x64/bin:$PATH

这样就可以直接使用命令 npm 之类的了

1. 安装 jsdom

npm install jsdm

2. 使用 jsdom 初始化变量

可以初始化 windowdocument 等全局变量。还可以设置一些属性。

const { JSDOM } = require('jsdom');
const dom = new JSDOM(`<!DOCTYPE html><p>Hello world</p>`, { runScripts: "dangerously" });
const { window } = dom;
const { document } = window;

window.navigator.userAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36';
window.navigator.platform = 'Win32';
window.navigator.language = 'en-US';

const navigator = window.navigator;
const MutationObserver = window.MutationObserver;
const https = require('https');
const axios = require('axios');
15 浏览
0 评论