Python2 安裝pyv8
pip install-egit://github.com/brokenseal/PyV8-OS-X#egg=pyv8
from pyv8 import PyV8 ctxt = PyV8.JSContext() ctxt.enter() # 創建一個jsContext對象並進入 ctxt.eval(js_str) # 執行js代碼
接下來就可以使用這個ctxt來執行js腳本了。主要有兩種用途:
1、調用js中的方法:
#把strEnc綁定到js中的strEnc方法 strEnc =ctxt.locals.strEnc #執行strEnc方法,傳入python的參數:params,_deskey,用python接受返回值 str = strEnc(params)
2、調用js中的變量:
#Url是python中的變量 ''' 例如js文件: var a=****; var b=****; var url=** 我想動態的取得a和b的值,可以令url='a',得到a的值,url=’b'取得b的值 這里就不能用locals來尋找,如果用ctxt.locals(Url),則會匹配到js文件中的Url返回給你 ''' downLoadUrl = str(ctxt.eval(Url))
Python3 安裝pyexecjs
js =execjs.compile(js_str) # 編譯執行js代碼 jschl_answer = js.call('help’) # 調用函數
