Python执行js
selenium执行js,并传递参数
arguments[0] 就是第一个参数,arguments[1] 就是第二个参数
js2py
# 执行简单的js
# add = js2py.eval_js('function xx(a,b){return a+b}')
# res = add(1,2)
# print(res)
# context方式
js = """
a = 1
b = 1
function js_func(x,y){
return x+y
}
"""
ctx = js2py.EvalJs() # 初始化context对象
ctx.execute(js) # 执行js
print(ctx.a)
print(ctx.js_func(1,2))
# python与js交互
js = """
function js_func(x, y){
return x+y
}
end = js_func(a,b)
"""
ctx = js2py.EvalJs(context={'a':1, 'b':1}) # 初始化context对象,通过字典形式传入python对象与js交互
ctx.execute(js) # 执行js
print(ctx.end)
PyExecJS(需要js环境)
import execjs
ctx = execjs.compile(
“”"
function add(x, y) {
return x + y;
}
“”")
print(ctx.call(“add”, 1, 2))
PyV8
Python3 安装不要使用pip,因为官方只支持 Python2,需要在这里下载对应系统的二进制文件:https://github.com/emmetio/pyv8-binaries