python execjs库, 报错:TypeError: 'Uint8Array' 未定义
本帖最后由 ylm_king 于 2021-2-6 12:57 编辑我尽量将我的问题 描述清楚,感谢各位大侠仗义相助。
https://static.52pojie.cn/static/image/hrline/5.gif
这个是 js 文件内容,以及正常运行后的代码
https://attach.52pojie.cn//forum/202011/24/203709fhb30f604o1z0it6.png?l
这个是, 引入execjs 库后,python程序出现错误的内容
https://attach.52pojie.cn//forum/202011/24/212949t37anpkm22p20nn0.png?l
百度也没找到合适的答案,这里咨询 下踩过坑的大侠建议
-----------------------------------------------------------------------------------------------------------------------
问题已经解决 【总结如下】
方式一: 我采用 node开启服务器, 通过 requests 模块发送请求 ,来获取js运行后的数据;【推荐, 需要手动开启服务器】 存在问题:
1.需要手动开启服务器
2.需要3-5天左右的学习成本【前提是 对javascript有基本学习过】
方式二: python模拟浏览器, 安装selenium模块, 用这个模块去运行js代码, 也是可行;【推荐】 存在问题:
1.第一次运行较慢, 打开浏览器 和控制需要时间【大概4秒左右】
2. 当代码量太大的时候【有10万行以上】, 其实不建议这个
方式三:python中execjs模块,去运行编译js代码
存在问题:
只能运行些ECMAJavaScript规范的代码, 而涉及到Dom或者Bom方面的就不行了。 是 引用其他变量引发的错误,需要写入 网上,我去搜索了 , python与 js arraybuffer之间的转化,没找一篇稍微合适点的
想在 js文件中arraybuffer 转化为二进制 ,再输出来,传给python变量, 但是 只要 以 execjs 库 运行 js ,就会报错 建议将js贴出来 加上
```
os.environ["EXECJS_RUNTIME"] = "Node"
```
试试
本帖最后由 ylm_king 于 2021-2-6 12:56 编辑
ufo0033 发表于 2020-11-27 10:38
加上
```
os.environ["EXECJS_RUNTIME"] = "Node"
方式一: 我采用 node开启服务器, 通过 requests 模块发送请求 ,来获取js运行后的数据;【推荐, 需要手动开启服务器】 存在问题:
1.需要手动开启服务器
2.需要3-5天左右的学习成本【前提是 对javascript有基本学习过】
方式二: python模拟浏览器, 安装selenium模块, 用这个模块去运行js代码, 也是可行;【推荐】 存在问题:
1.第一次运行较慢, 打开浏览器 和控制需要时间【大概4秒左右】
2. 当代码量太大的时候【有10万行以上】, 其实不建议这个
方式三:python中execjs模块,去运行编译js代码
存在问题:
只能运行些ECMAJavaScript规范的代码, 而涉及到Dom或者Bom方面的就不行了。
页:
[1]