Problems with finding QWebElements by tag in PySide

263 views Asked by At

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.

1

There are 1 answers

1
andrean On BEST ANSWER

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()