Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >python使用execjs执行含有window等对象的js代码

python使用execjs执行含有window等对象的js代码

原创
作者头像
用户8832503
发布于 2022-03-02 05:50:05
发布于 2022-03-02 05:50:05
3.1K00
代码可运行
举报
文章被收录于专栏:php编辑php编辑
运行总次数:0
代码可运行

当我们分析爬虫时,有时候会遇到一些加密参数,这个时候就需要我们逆向分析js

python执行js有一些第三方库

所以我们只要在对应js代码里最前面加上以下代码就能正常运行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const jsdom = require("jsdom");
const { JSDOM } = jsdom;
const dom = new JSDOM(`<!DOCTYPE html><p>Hello world</p>`);
window = dom.window;
document = window.document;
XMLHttpRequest = window.XMLHttpRequest;

在全局安装jsdom后,在node里按上面的写法是没有问题的,但是我们要在python中使用的话,不能在全局安装 如果在全局安装,使用时会报如下错误,说找不到jsdom

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
execjs._exceptions.ProgramError: Error: Cannot find module 'jsdom'

解决办法有两种 1.就是在python执行文件所在的运行目录下,使用npm安装jsdom 2. 使用cwd参数,指定模块的所在目录,比如,我们在全局安装的jsdom,在cmd里通过npm root -g 可以查看全局模块安装路径: C:\Users\w001\AppData\Roaming\npm\node_modules 我们使用时,代码可以按下面的写法写

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import execjs
with open(r'要运行的.js','r',encoding='utf-8') as f:
    js = f.read()
ct = execjs.compile(js,cwd=r'C:\Users\w001\AppData\Roaming\npm\node_modules')
print(ct.call('Rohr_Opt.reload','1'))

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
python使用execjs执行含有document、window等对象的js代码,使用jsdom解决
因为我用的Python3,所以没用PyV8(安装网上的方法,也没有安装好,可能我太笨了 - -! 如果有会的麻烦指点一下)
用户1214487
2020/06/19
4.7K0
python使用execjs执行含有document、window等对象的js代码,使用jsdom解决
[1283]execjs._exceptions.ProgramError: Error:Cannot find module ‘jsdom‘
在全局安装jsdom后,在node里按上面的写法是没有问题的,但是我们要在python中使用的话,不能在全局安装
周小董
2024/05/26
4230
[1283]execjs._exceptions.ProgramError: Error:Cannot find module ‘jsdom‘
execjs使用时异常
我们execjs除了nodejs我们还需要浏览器环境,我们浏览器上还需要document以及window对象所有呢我们要安装环境
小小咸鱼YwY
2020/06/19
1.3K1
python爬虫执行js代码-execjs
execjs会自动使用当前电脑上的运行时环境(建议用nodejs,与Phantomjs)
小小咸鱼YwY
2020/06/19
2.9K0
【JS 逆向百例】网洛者反爬练习平台第六题:JS 加密,环境模拟检测
本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!
K哥爬虫
2021/12/28
8260
【JS 逆向百例】网洛者反爬练习平台第六题:JS 加密,环境模拟检测
window安装node.js和docsify安装
电脑重装了系统很多东西都要重新安装,就连jdk的环境变量都老是忘何况安装nodejs呢,记录下,下次肯定用得到~
sunonzj
2022/06/21
2.7K0
window安装node.js和docsify安装
npm 设置全局变量安装路径及环境配置
安装 nodejs 的时候最好不要安装到默认的C盘下。但是一般情况下安装node.js环境,程序会自动把 npm 全局模块的路径设置在系统盘(一般默认是C盘)。 文章目录 查看 npm 默认路径配
兮动人
2021/06/11
18.9K1
npm 设置全局变量安装路径及环境配置
node.js 安装详细步骤教程
安装成功,文件夹结构如下,并在上面安装过程中已自动配置了环境变量和安装好了npm包,此时可以执行 node -v 和 npm -v 分别查看node和npm的版本号:
全栈程序员站长
2022/09/13
2.6K0
node.js 安装详细步骤教程
Vue.js安装教程安装步骤安装中遇到的问题
安装步骤 安装 node.js (网址:https://nodejs.org/en/)。 基于 node.js ,利用淘宝 npm 镜像安装相关依赖。在 cmd 里直接输入:npm install -g cnpm –registry=https://registry.npm.taobao.org,回车,等待安装。 安装全局 vue-cli 脚手架,用于帮助搭建所需的模板框架,在 cmd 里 输入:cnpm install -g vue-cli,回车,等待安装; 输入: vue ,回车,若出现 vue
俞其荣
2018/05/21
1.3K0
【规范】统一项目中包管理器的使用
Dear,大家好,我是“前端小鑫同学”,😇长期从事前端开发,安卓开发,热衷技术,在编程路上越走越远~ 【规范】统一项目中包管理器的使用 背景介绍: 我们这里暂不说各种包管理器的优缺点,在实际开发中遇到的一个问题就是,你本地经常使用cnpm来安装,但Jenkins自动构建用的npm,偶尔就会出现本地开发很正常但是Jenkins构建失败报警了,为了避免类似问题的出现,也应该要将能统一的都统一规范。 实现原理: 通过preinstall来在执行install前执行指定脚本; 在preinstall脚
前端小鑫同学
2022/12/26
1.5K0
【规范】统一项目中包管理器的使用
修改npm全局安装的位置 原
不小心删除了C:\Users\Administrator\AppData\Roaming\npm 的Roaming下面的npm ,然后npm安装怎么都无效,这时候把npm 与npm-cache都删除再重新安装node js就好了(安装nodejs的时候选第四个)
tianyawhl
2019/04/04
2.2K0
Windows环境Appium自动化测试环境搭建
下载地址:https://nodejs.org/en/download/releases/ 建议安装10以上版本。
清风穆云
2021/08/09
1.5K0
Node.js详细安装教程
一、安装环境 1、本机系统:Windows 10 Pro(64位) 2、Node.js:v6.9.2LTS(64位)
全栈程序员站长
2022/09/13
3.5K0
Node.js详细安装教程
使用json-Server快速模拟服务环境搭建
在前后端分离的这种工作模式下,分工明确,各司其职。前端负责展示数据,后端提供数据。然而,在这种过程中对于接口的规范 需要提前制定好。例如根据规范提前模拟数据,这个时候就比较麻烦的。JsonServer这个比较NB了,它可以快速搭建服务端环境,创建json文件,便于调用。然后可以通过下载postman与json-server结合,可以实现数据的增删改查功能。下面是使用过程:
小周sir
2019/09/23
1.3K0
使用json-Server快速模拟服务环境搭建
用 Electron 将 UniApp 封装为 EXE 指南
最近想要制作一个 Windows 工具箱,所以需要多集合一些功能。之前用 uniapp 制作了一些功能,为了省事,所以想要把部分 uniapp 封装成 exe 来丰富功能。
繁依Fanyi
2025/02/22
2480
用 Electron 将 UniApp 封装为 EXE 指南
npm将包安装到了什么地方?
准备花一段时间把Node的官方文档仔细的读一遍,然后总结一些常见的内容。今天总结了7个比较小的问题,汇总的比较简单。
terrence386
2022/07/15
2.3K0
Node.js 安装配置
Node.js安装包及源码下载地址为:https://nodejs.org/en/download/。
全栈程序员站长
2022/07/07
1.1K0
Node.js 安装配置
nodejs(二)
别人写的模块,然后发布到npm网站,我们可以使用npm工具来下载安装别人写的模块。
且陶陶
2023/04/12
1.3K0
nodejs(二)
Node的安装与环境变量的配置
1 .msi和.zip格式区别: 2 a、.msi是Windows installer开发出来的程序安装文件,它可以让你安装,修改,卸载你所安装的程序。说白了.msi就是Windows installer的数据包,把所有和安装文件相关的内容封装在一个包里。 3 b、.zip是一个压缩包,解压之后即可,不需要安装。
别先生
2020/04/24
1.7K0
Node的安装与环境变量的配置
推荐一下前端开发时npm源管理工具
解决方法: 找到nrm所在目录,一般是c盘用户文件夹下:C:\Users\用户名\AppData\Roaming\npm\node_modules\nrm
裴大头
2022/01/17
8780
推荐一下前端开发时npm源管理工具
相关推荐
python使用execjs执行含有document、window等对象的js代码,使用jsdom解决
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验