从python调用Javascript

时间:2016-08-23 09:06:49

标签: javascript python

我正在寻找一种从python函数调用js函数的方法。我来找你,因为我也需要我的js函数来使用DOM,所以pyv8例如不是解决方案..你们有什么想法吗?它甚至可能吗?

提前致谢。

2 个答案:

答案 0 :(得分:5)

PyExecJS似乎是个不错的选择。

>>> import execjs
>>> execjs.eval("'red yellow blue'.split(' ')")
['red', 'yellow', 'blue']
>>> ctx = execjs.compile("""
...     function add(x, y) {
...         return x + y;
...     }
... """)
>>> ctx.call("add", 1, 2)
3

安装:

$ pip install PyExecJS

答案 1 :(得分:4)

根据https://stackoverflow.com/a/30537286/6353933

import js2py

js = """
function escramble_758(){
var a,b,c
a='+1 '
b='84-'
a+='425-'
b+='7450'
c='9'
document.write(a+c+b)
}
escramble_758()
""".replace("document.write", "return ")

result = js2py.eval_js(js)  # executing JavaScript and converting the result to python string 

Js2Py的优点包括可移植性和与python的极其简单的集成(因为基本上JavaScript正被转换为python)。

安装:

pip install js2py