mac上使用idea运行
1.终端中运行:pip install PyExecJS
2-1.python中调用(案例1):
with open(r'js_0.1.4.js','r',encoding='utf-8') as f:
js = f.read()
ctx = execjs.compile(js,cwd=r'/usr/local/lib/node_modules')
fp = ctx.call('vb')
print(fp)
3-1.js中的内容(案例1)
const jsdom = require("jsdom");
const {JSDOM} = jsdom;
const dom = new JSDOM(`<!DOCTYPE html><p>Hello world</p>`, {
url: 'https://127.0.0.1/'
});
window = dom.window;
window.localStorage = {}
document = window.document;
localStorage = window.localStorage;
"use strict";
var t = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof window ? window : "undefined" !=
typeof global ? global : "undefined" != typeof self ? self : {};
function vb(t) {
if (t.__esModule) return t;
var r = Object.defineProperty({}, "__esModule", {
value: !0
});
return Object.keys(t).forEach((function(n) {
var e = Object.getOwnPropertyDescriptor(t, n);
Object.defineProperty(r, n, e.get ? e : {
enumerable: !0,
get: function() {
return t[n]
}
})
})), r
}
2-2.python中调用(案例2):
with open(r'js_0.1.5.js','r',encoding='utf-8') as f:
js = f.read()
ctx = execjs.compile(js,cwd=r'/usr/local/lib/node_modules')
fp = ctx.call('ParamsSignLite')
print(fp)
3-2.js中的内容(案例2)
const jsdom = require("jsdom");
const {JSDOM} = jsdom;
const dom = new JSDOM(`<!DOCTYPE html><p>Hello world</p>`, {
url: 'https://127.0.0.1/'
});
window = dom.window;
window.localStorage = {}
document = window.document;
localStorage = window.localStorage;
var ParamsSignLite = function() {
"use strict";
var t = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof window ? window : "undefined" !=
typeof global ? global : "undefined" != typeof self ? self : {};
var pf='';
function e(t) {
return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t
}
}();