NoneType в списке объектов QWebFrame childFrames () - PullRequest
0 голосов
/ 05 сентября 2011

Я пытаюсь получить доступ к дочернему фрейму внутри веб-страницы, используя 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 голосов
/ 07 сентября 2011

Ваш вывод выглядит как два списка: первый пустой, второй содержит QWebFrames.

Что дает print fr[1][0].frameName()? Должно возвращаться имя кадра для <PyQt4.QtWebKit.QWebFrame object at 0x14a1200>.

...