2016-08-23 85 views
3

私はPython関数からjs関数を呼び出す方法を探しています。 DOMを使うために私のjs関数も必要なので私はあなたに来ています。だから、pyv8は解決策ではありません。あなたはどんなアイデアを持っていますか?それも可能ですか?PythonからJavascriptを呼び出す

ありがとうございます。

+0

を "私もDOMを使用するために私のJS関数が必要":インストールする

>>> 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 

。 javascript DOMはブラウザに存在します(あなたがそれをエミュレートしていない限り)。 Pythonはサーバー上で動作します。あなたは、Pythonコードからブラウザ側のJavaScriptの実行をどのようにトリガできるのか尋ねていますか? – Levi

+0

はい、それです。 Kode.Error404の解決策はうまくいくようです。 – souki

+0

Pythonの[Javascript関数を呼び出す]の可能な複製(https://stackoverflow.com/questions/8284765/call-javascript-function-from-python) –

答えて

4

https://stackoverflow.com/a/30537286/6353933によれば、Js2Pyの

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 

利点は、(基本的にはJavaScriptは、Pythonに変換されるので)、パイソンと移植性と非常に簡単な統合が含まれます。インストールするには

pip install js2py 
+0

ありがとう、ありがとう – souki

5

PyExecJSは良いオプションのようです。

$ pip install PyExecJS 
関連する問題