JS 在 网页中可以执行并且有返回值
但在在python 中 报错
上面是 网页中 一切都是正常的
下面是 python 报错
这个问题好
就一点代码也报错吗
在Python中使用execjs库执行JavaScript代码时报错。execjs库是一个用于在Python中执行JavaScript代码的库。在网页中,JavaScript可以在网页中执行并且有返回值,但是在Python中执行时却报错。
这个错误可能是由于多种原因导致的,比如execjs库的版本不兼容、JavaScript代码中使用了Python中不支持的语法或函数等。要解决这个问题,可以尝试以下几种方法:
确保execjs库的版本与Python版本兼容。可以尝试升级或降级execjs库来解决版本兼容性问题。
检查JavaScript代码中是否使用了Python中不支持的语法或函数。如果有,可以尝试修改代码或使用其他方法来实现相同的功能。
尝试使用其他类似的库或工具来执行JavaScript代码。除了execjs库,还有其他一些库可以在Python中执行JavaScript代码,例如PyExecJS、PyV8等。
如果以上方法都无法解决问题,可以尝试使用其他语言或工具来执行JavaScript代码,例如使用Node.js来执行JavaScript代码,然后通过Python与Node.js进行通信。
总之,解决这个问题需要具体情况具体分析,根据具体报错信息和使用情况来选择合适的解决方法。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
@author: Roc-xb
"""
import execjs
if __name__ == '__main__':
f = ''' function L(ex){
var e={
"platform":"pc",
"version":"5.10.8",
"ua":"Chrome 94",
"ex":ex,
}
return e;
}'''
ctx = execjs.compile(f)
print(ctx.call('L', 321))
pip install PyExecJS
import execjs
js代码
).call(函数名
,参数1
, 参数2
) ,此种方式建议js代码存到文件中import execjs
with open(r"./demo.js", encoding="utf-8") as f:
ctx = execjs.compile(f.read())
print(ctx.call('get_m', 5, 6)) # 11
js代码
)import execjs
print(execjs.eval("cookie='Hm_lvt_444ece9ccd5b847838a56c93a0975a8b=1636208098'"))
针对该问题,我需要进一步了解报错的具体信息和背景,以确定可能存在的问题和解决方案。常见的解决方法包括升级execjs或更换相应的运行环境,但具体解决方案需要进一步了解问题的背景和环境。请提供更多相关信息,例如报错信息的完整内容、运行环境的具体配置等,以便我们更好地理解问题并为您提供更精准的解决方案。