2010-02-10 4 views
1

Je possède ce programme très simple:Python win32com: objet COM Internet Explorer? (Utilisé pour travailler?)

from win32com import client 
ie=client.Dispatch("InternetExplorer.Application") 

Cette habitude de travailler (je pense que je me suis cassé quelque chose quand je RÉUTILISÉS « makepy.py » pour essayer d'ajouter des constantes pour IE).

Cela fonctionne toujours sur une autre machine où je n'ai pas été si slap-dash avec 'makepy.py'.

Voici ce que je reçois dans une session Python interactive sur la machine non-travail:

>>> 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) 

Et même sur une machine de travail:

>>> from win32com import client 
>>> ie=client.Dispatch("InternetExplorer.Application") 
>>> ie 
>>> <ComObject InternetExplorer.Application> 
>>> ie.Visible=1 # This then brings up IE correctly. 

Comment puis-je obtenir ce travail à nouveau? Ou suis-je en utilisant la mauvaise façon de lancer IE?

Merci!

Répondre

1

Je suis allé en ici:

Python26\Lib\site-packages\win32com\gen_py 

Rebaptisé .py et le fichier .pyc à .py_ et les fichiers .pyc_:

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

Restarted Python: maintenant obtenir l'Internet Explorer. Ouf ...