一.安裝
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()))}
然后調用我們自定義的方法即可