从python调用Javascript

sou*_*uki 3 javascript python

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

提前致谢.

Kod*_*404 5

根据/sf/answers/2137610051/

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 
Run Code Online (Sandbox Code Playgroud)

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

安装:

pip install js2py
Run Code Online (Sandbox Code Playgroud)


Sup*_*ova 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
Run Code Online (Sandbox Code Playgroud)

安装:

$ pip install PyExecJS
Run Code Online (Sandbox Code Playgroud)