python-execjs(调用js),


一.安装

pip3 install PyExecJS

电脑上要有nodejs环境

二.使用

一.获取js字符串

首先将js保存至于本地文件或者你可以可以直接读到内存,必须让js以字符串的形式展示

注意点:字符串中不要出现<script>标签的js字符串

二.转换

js_obj = execjs.compile(上面转换的js字符串)

三.调用js对象中的方法

res = js_obj("方法名",参数一,参数二.........)

三.我使用时候的经验

一个js_obj,比如说完成某个留下需要方法一(方法二的返回值(方法三的返回值))

你的代码类似这样

js_obj = execjs.compile(js_str)

res_3 = js_obj("方法三")
res_2 = js_obj("方法二",res_3)
res_1 =js_obj("方法一",res_2)

#结果你会发现res_1并不是你想要的,而逻辑是毫无问题的

这可能是模块的bug导致的

解决方法

在js文件中定义一个三者封装后的函数

function func_1(res_2){......}
function func_2(res_3){......}
function func_3(){......}

//顶一个封装后方法
function my_func(){func_1(func_2(func_3()))}

然后调用我们自定义的方法即可

相关内容

    暂无相关文章

评论关闭