7-4|execjs._exceptions.ProgramError: Error: Cannot find module 'jsdom'

简介: 7-4|execjs._exceptions.ProgramError: Error: Cannot find module 'jsdom'

使用jsdom解决

第一步 使用以下命令安装:

npm i jsdom -g

第二步 只需在对应js代码里最前面加上以下代码就能正常运行

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

execjs._exceptions.ProgramError: Error: Cannot find module 'jsdom'

解决办法有两种

1.就是在python执行文件所在的运行目录下,使用npm安装jsdom

使用cwd参数,指定模块的所在目录,比如,我们在全局安装的jsdom,在cmd里通过npm root -g 可以查看全局模块安装路径: C:\Users\w001\AppData\Roaming\npm\node_modules

我们使用时,代码可以按下面的写法写

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'))


相关文章
Failed to execute script ‘xxx‘ due to unhandled exception:No module named ‘ctypes‘
Failed to execute script ‘xxx‘ due to unhandled exception:No module named ‘ctypes‘
430 0
|
4月前
|
前端开发
Error in created hook: “TypeError: _test.default is not a function
Error in created hook: “TypeError: _test.default is not a function
|
5月前
|
关系型数据库 MySQL Linux
FATAL ERROR: Could not find my_print_defaults
FATAL ERROR: Could not find my_print_defaults
164 0
|
6月前
|
自然语言处理 数据库
Expected one result (or null) to be returned by selectOne(), but found: 2
Expected one result (or null) to be returned by selectOne(), but found: 2
96 0
|
11月前
Error: Cannot find module ‘express‘
Error: Cannot find module ‘express‘
|
Java 关系型数据库 MySQL
8. 成功解决:Error: Module not specified
使用 IDEA 时,调用 `main` 方法,提示 `Error: Module not specified` 错误,意思是“module 未指定”。
3368 1
|
JavaScript
Module not found: Error: Can‘t resolve ‘path‘
Module not found: Error: Can‘t resolve ‘path‘
978 0
解决办法:ImportError: 'module' object has no attribute 'check_specifier'
解决办法:ImportError: 'module' object has no attribute 'check_specifier'
140 0
​Error -4075: File not found. An error occurred merging module <MODULENAME> for feature <FEATURENAME>.
​Error -4075: File not found. An error occurred merging module <MODULENAME> for feature <FEATURENAME>.
123 0
​Error -4075: File not found. An error occurred merging module <MODULENAME> for feature <FEATURENAME>.