我想用python执行JavaScript代码,使用了MSScriptControl.ScriptControl组件,但是在添加执行代码的时候老是报错,不知道什么原因。代码如下:
#! /usr/bin/env python
# coding=utf-8
import win32com.client
def readJsFile(filename):
fp = file( filename,'r' )
lines = ""
for line in fp:
lines += line
return lines
if __name__ == '__main__':
code=readJsFile('test.js')
js = win32com.client.Dispatch('MSScriptControl.ScriptControl')
js.Language = 'JavaScript'
js.AllowUI = False
js.AddCode(code)#这条代码一直报错
错误信息:
Traceback (most recent call last):
File "C:UsersAdministratorDesktopjs_encry.py", line 16, in <module>
js.AddCode(code)
File "<COMObject MSScriptControl.ScriptControl>", line 2, in AddCode
com_error: (-2147352567, 'xb7xa2xc9xfaxd2xe2xcdxe2xa1xa3', (0, u'Microsoft JScript u8fd0u884cu65f6u9519u8bef', u"'aa' u672au5b9au4e49", None, 0, -2146823279), None)
我尝试在test.js文件里面只放一条简单的代码,例如var a=11,程序不会报错,然后我把var a=11改成aaa这样一条没有意义的代码,程序又报错了。我在想js.AddCode(code)在添加代码的时候,是不是会检查code里面代码的语法?这种错误有什么解决的办法?
走同样的路,发现不同的人生