2017-04-25 136 views
0

我一直在尝试从树节点检索信息。我从xpath搜索中获得节点,但在这些节点内部,我尝试再次运行xpath搜索,但它转到根目录。是否有可能遍历具有特定类的节点并检索出不同的信息?xpath搜索中的lxml etree迭代

我解析

<li> 
    <div class="product-preview"> 
     <div class="product-image"> 
     <div class="product-info"> 
<\li> 

的代码,我需要找到我已经使用

lxml.html.xpath(//div[contains(@class, product-preview)]) 

得到这些产品预览节点,但这个例子,当我试图让不同的子节点迭代来自先前代码的结果,始终在父代中搜索

我想要做的是

for element in lxml.html.xpath(//div[contains(@class, product-preview)]): 
    element.xpath("new search") 

我该如何迭代元素以在里面进行新的搜索?

非常感谢。

回答

0

我已经使用lxml.html中的方法find_class解决了该问题,它将返回没有父级的节点。之后,我可以使用xpath在里面搜索。

for element in tree.find_class(class_name): 
    element.xpath(xpath).get(attrib)