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()))}

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM