2011-04-23 41 views
0

下面是我用來獲取給定節點的所有子節點列表的代碼片段。但nextSibling()永遠不會返回null,所以while循環將永遠執行。請幫忙。python QtWebkit:nextSibing不返回null或無

children = [ ] 
children.append(documentElement.firstChild()) 
curr_node = children[0] 
while curr_node.nextSibling(): 
    print curr_node, len(children) 
    children.append(curr_node.nextSibling()) 
    curr_node = curr_node.nextSibling() 

回答

2

據我瞭解nextSibling將始終返回QWebElement,但是你可以檢查是否正在使用ISNULL()null元素

while not curr_node.nextSibling().isNull(): 
    print curr_node, len(children) 
    children.append(curr_node.nextSibling()) 
    curr_node = curr_node.nextSibling() 

您可以檢查在http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qwebelement.html#isNull HTTP:// WWW .riverbankcomputing.co.uk/static/Docs/PyQt4/html/qwebelement.html#nextSibling

+0

謝謝,它工作。 – Xolve 2011-04-24 05:57:12