QWebFrame中的NoneType对象childFrames()列表

时间:2011-09-05 10:53:14

标签: python webkit pyqt4

我正在尝试使用python qt webkit访问网页中的子框架。

childFrames()在列表前面生成一个带有NoneType的空列表,如何直接转到第二个实体,因为我不能使用fr.childFrames()[1] [1]:它会抛出TypeError :'QWebFrame'对象不支持索引。

这些是代码的一部分:

fr = self.page().mainFrame().childFrames()
for f in fr:
    print f.frameName()

将输出每帧的帧标题,但如果:

fr = self.page().mainFrame().childFrames()
print fr

将输出

[]
[<PyQt4.QtWebKit.QWebFrame object at 0x14a1200>, <PyQt4.QtWebKit.QWebFrame object at 0x14a1290>, <PyQt4.QtWebKit.QWebFrame object at 0x14a1320>, <PyQt4.QtWebKit.QWebFrame object at 0x14a13b0>]

如果我直接这样:

print fr[1].frameName()

首先抛出IndexError(没有内容的列表),然后从第二个列表中给我框架的标题。

这是预期的行为吗?如果是这样,我如何直接进入第二个列表中的帧。

1 个答案:

答案 0 :(得分:0)

您的输出似乎是两个列表 - 第一个是空的,第二个包含QWebFrame。

print fr[1][0].frameName()给你什么?它应该返回<PyQt4.QtWebKit.QWebFrame object at 0x14a1200>的框架名称。