windows7 上, python2.7 操作 ie 浏览器时, PAM30 报错: pywintypes.com_error

2017-05-27 09:55:09 +08:00
 vtoexsir

如果在运行如上代码前,先打开一个 ie 浏览器,就正常运行,不会报错。
但是,如果不事前打开一个 ie 浏览器,直接运行如上代码,就会报错。
请大家看看是什么原因?
怎么弄好呢?

环境:
windows7 64 位
python 2.7.12 32 位
代码:

from PAM30 import PAMIE  
def d():  
  ie = PAMIE()  
  ie.navigate('http://pamie.sourceforge.net/pamieform.html')  

报错信息如下:

Traceback (most recent call last):
  File "D:/jianguoyun/pythonProgrames/myModule/test/pamieTest/pamie-f.py", line 37, in <module>
d()
  File "D:/jianguoyun/pythonProgrames/myModule/test/pamieTest/pamie-f.py", line 9, in d
ie = PAMIE()
  File "D:\jianguoyun\pythonProgrames\myModule\PAM30.py", line 68, in __init__
self._ie = win32com.client.dynamic.Dispatch('InternetExplorer.Application')
  File "D:\Python27\lib\site-packages\win32com\client\dynamic.py", line 127, in Dispatch
IDispatch, userName = _GetGoodDispatchAndUserName(IDispatch,userName,clsctx)
  File "D:\Python27\lib\site-packages\win32com\client\dynamic.py", line 114, in _GetGoodDispatchAndUserName
return (_GetGoodDispatch(IDispatch, clsctx), userName)
  File "D:\Python27\lib\site-packages\win32com\client\dynamic.py", line 91, in _GetGoodDispatch
IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
pywintypes.com_error: (-2147221164, '\xc3\xbb\xd3\xd0\xd7\xa2\xb2\xe1\xc0\xe0', None, None)
2267 次点击
所在节点    Python
2 条回复
zsz
2017-05-28 19:20:53 +08:00
看错误信息,应该是 PAMIE 需要与已经运行的 ie 进程通讯,打开 url

你可以使用下面的方法来调用浏览器

import webbrowser

webbrowser.open('http://www.163.com')


加我们的群问效率高些,一群工程师组建的面向初学者的
Python Linux 学习群,qq 群号:278529278,
Php Linux 学习群,qq 群号:476648701,
非商业性质,拒绝广告,只接收真正想学这方面技术的朋友,交流学习,申请请说明来自 v2ex
vtoexsir
2017-06-05 23:08:27 +08:00
导入如下注册信息,就可以正常调用了:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{0002DF01-0000-0000-C000-000000000046}\LocalServer32]
@="\"C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{0002DF01-0000-0000-C000-000000000046}\LocalServer32]
@="\"C:\\Program Files\\Internet Explorer\\iexplore.exe\""

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/364148

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX