我在PAMIE上遇到一个带有非常简单脚本的TypeError,我不知道我能做什么。我找到了一个答案,表明库pywin32
可能没有为这个特定方法设置self
参数(getElementsByTagName
),但我不确定,因为我不知道知道在哪里可以找到它的定义。
from PAM30 import PAMIE
ie = PAMIE()
ie.navigate('google.com')
ie.getButtons()
ie.quit()
print 'done'
错误是:
Traceback (most recent call last):
File "c:\pamie1.py", line 1, in <module>
from PAM30 import PAMIE
File "C:\Python27\Lib\site-packages\PAM30.py", line 678, in getButtons
return self.getElementsList("input", filter)
File "C:\Python27\Lib\site-packages\PAM30.py", line 939, in getElementsList
elements = self._ie.Document.getElementsByTagName(tag)
TypeError: getElementsByTagName() takes exactly 1 argument (2 given)
以下是PAM30
elements = self._ie.Document.getElementsByTagName(tag)
其中_ie_
是
self._ie = win32com.client.dynamic.Dispatch('InternetExplorer.Application')
我正在使用Windows 7x64和Python2.7 32位
答案 0 :(得分:1)
“解决方法”似乎启用了兼容性视图(Tools > Compatibility
View settings > Display all websites in Compatibility View
)。
这是IE的错误。
答案 1 :(得分:1)
解决方法 - 改变PAMIE30
elements = self._ie.Document.getElementsByTagName(tag)
到
elements = self._ie.Document.body.all.tags(tag)
这将无需使用兼容性视图即可使用!
答案 2 :(得分:0)
修改此行:
elements = self._ie.Document.getElementsByTagName(tag)
到
elements = self._ie.Document.Body.getElementsByTagName(tag)