2014-04-12 25 views
1

我有一個查詢返回2個結果的測試。使用如何訪問PyQuery查詢中的第一項(或第x項)?

query = html("ul ol ul") 

如何選擇第一或第二無序列表 具體發現了一個輪廓的第三級?

query[0] 

衰減到HTML元素

list(query.items())[0] 

query.items().next() #(in case of the first element) 

有沒有更好的辦法,我不能看?

注:

query = html("ul ol ul :first") 

得到每個列表不是第一個列表的第一個元素。

回答

3

PyQuery documentation on traversing,你應該能夠通過使用選擇的第一個無序列表:

query('ul').eq(0) 

因此能夠獲得第二無序列表使用:

query('ul').eq(1) 
+1

他們爲什麼選擇eq?如此糟糕的名字,讓我想到==/__ eq__ –

+1

同意。完全違反直覺。 – Talvalin

1

在jQuery的人會使用

html("ul ol ul").first() 

.first() - 將匹配元素的集合減至集合中的第一個元素。

html("ul ol ul").eq(0) 

.eq() - 減少匹配元素的所述一個指定索引處。

+0

確實如此,但不幸的是PyQuery不支持第一個方法。 – Pithikos

相關問題