网站制作学习网Python→正文:Python 调用 JavaScript
字体:

Python 调用 JavaScript

Python 2022/4/2 14:00:37  点击:不统计

原文是网站制作学习网的FoAsP.cn


原载于:原文章%77w%77%2Ef%6F%72%61%73%70%2E%63n
学习www.网for站asp制.cn作
 python调用javaScript,python调用js,并获取js对应的返回值

一 python 可以调用 运行JavaScript ,需要python,nodejs 环境支持
(1) python 环境安装。这里不再赘述
(2) nodejs 安装
在mac,windows 下直接安装nodejs
http://nodejs.cn/download/
然后进行安装, 安装完毕,在命令行
windows,打开cmd
运行命令
node -v
如果能看到 nodejs 的版本号 ,表示安装nodejs 成功
(3) python 扩展 pyExecJS
pip install PyExecJS
安装后能在python文件import即可
(4)nodejs 扩展 jsdom
 npm install jsdom
特别注意 在windows中要配置 系统环境变量
另外 nodejs 对应的 node_moddules 文件夹要确定
windows 的一般在安装目录下,或者你当前登录用户目录下
mac 的一般在 /usr/local/lib/node_modules
 
二直接上代码
(1) python 代码如下:
import execjs cn = "python 调用 js"
with open('javscript.js', 'r') as f:
 # 下面红色地址 就是你nodejs modules 目录 windows目录用 \ 隔开
 ctx1 = execjs.compile(f.read(), cwd=r'/usr/local/lib/node_modules')
return_str = ctx1.call('forasp', cn) print("没有调用windows 方法,结果为:", return_str)
code = "this is for asp.cn"
return_str = ctx1.call('forasp_call_window', code)
print('调用windows 方法,结果为:', return_str)
(2) JavaScript代码如下
//如果在python调用js 中,js有对应的窗口windows 方法操作,则创建如下 window 和document
const jsdom = require("jsdom");
const { JSDOM } = jsdom;
const dom = new JSDOM(`<!DOCTYPE html><p>python call javascript www.forasp.cn</p>`);
window = dom.window;
document = window.document;
XMLHttpRequest = window.XMLHttpRequest;
//如果不需要调用浏览器 windows 对应 方法 以上可以去掉
function forasp(str){ return "这里是JavaScript python请求参数为:" + str; }
//调用浏览器window对应的方法,比如 window.atob(str)
// atob() 方法用于解码使用 base-64 编码的字符串。
// btoa() 方法用于编码使用 base-64 编码的字符串。
function forasp_call_window(str){ return window.btoa(str); }
(3) 结果如下:
python python.py
没有调用windows 方法,结果为: 这里是JavaScript python请求参数为:python 调用 js
调用windows 方法,结果为: dGhpcyBpcyBmb3IgYXNwLmNu
 
以上就是 python调用JavaScript的过程和方法
 
 




原载于:文章来源:www.forasp.cn网站制作学习

·上一篇:python 自动重启本程序 >>    ·下一篇:Anaconda 安装与使用 >>
推荐文章
最新文章