Python win32com:Internet Explorer COM对象? (曾经工作?)

时间:2010-02-10 18:03:15

标签: python com winapi automation internet-explorer

我有这个非常简单的程序:

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 个答案:

答案 0 :(得分:1)

进入这里:

Python26\Lib\site-packages\win32com\gen_py

将.py和.pyc文件重命名为.py_和.pyc_文件:

85CC894D-5673-4868-9A22-9E15B7E694D3x0x1x1.pyc

重新启动Python:现在获取Internet Explorer。呼...