I am using QGraphicsWebView and trying to iterate over QWebElements. At first tried :

frame = self.page().mainFrame()
doc = frame.documentElement()

h = frame.findFirstElement("head")
b = frame.findFirstElement("body")

elements = h.findAll("link")
for d in elements :
    print d.tagName()

So you see what I thought but, but later on find that there's elements in QWebElementCollection, not in list. Please help me with iterating over DOM tree.

有帮助吗?

解决方案

a QWebElement's findAll method returns a QWebElementCollection, which can be converted to a QList instance with it's toList() method. To iterate over a list of matched elements, you could use:

body_element = frame.findFirstElement("body")

for el in body_element.findAll("div").toList():
    print el.tagName()
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top