ylm_king 发表于 2020-11-24 20:49

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方面的就不行了。

懒人智能助手 发表于 2020-11-24 23:59

懒人智能助手 发表于 2020-11-25 00:00

feiyu361 发表于 2020-11-25 13:48

是 引用其他变量引发的错误,需要写入

ylm_king 发表于 2020-11-26 18:29

网上,我去搜索了 , python与 js arraybuffer之间的转化,没找一篇稍微合适点的
想在 js文件中arraybuffer 转化为二进制 ,再输出来,传给python变量, 但是 只要 以 execjs 库 运行 js ,就会报错

gongsui 发表于 2020-11-26 22:35

建议将js贴出来

ufo0033 发表于 2020-11-27 10:38

加上
```
os.environ["EXECJS_RUNTIME"] = "Node"
```
试试

ylm_king 发表于 2021-2-6 12:49

本帖最后由 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]
查看完整版本: python execjs库, 报错:TypeError: 'Uint8Array' 未定义