Python win32com: Internet Explorer COM对象?(之前能用吗?)
我有一个非常简单的程序:
from win32com import client
ie=client.Dispatch("InternetExplorer.Application")
之前这个程序是可以正常工作的(我想我在重新使用'makepy.py'时搞坏了什么,试图为IE添加常量)。
在另一台我没有随便乱搞'makepy.py'的机器上,这个程序仍然可以正常运行。
这是我在不工作的机器上进行交互式Python会话时得到的结果:
>>> ie
>>> <win32com.gen_py.Microsoft Internet Controls.IWebBrowser2 instance at 0x14701432
>
>>> ie.Visible=True
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "D:\Python26\lib\site-packages\win32com\client\__init__.py", line 471, in
__setattr__
self._oleobj_.Invoke(*(args + (value,) + defArgs))
pywintypes.com_error: (-2147352573, 'Member not found.', None, None)
而在正常工作的机器上得到的结果是一样的:
>>> from win32com import client
>>> ie=client.Dispatch("InternetExplorer.Application")
>>> ie
>>> <ComObject InternetExplorer.Application>
>>> ie.Visible=1 # This then brings up IE correctly.
我该如何让这个程序再次正常工作?或者我是不是用错了启动IE的方法?
谢谢!
1 个回答
1
我进入了这里:
Python26\Lib\site-packages\win32com\gen_py
把 .py 和 .pyc 文件的名字改成了 .py_ 和 .pyc_:
85CC894D-5673-4868-9A22-9E15B7E694D3x0x1x1.pyc
重启了 Python:现在可以打开 Internet Explorer 了。呼,终于解决了...