查找包含文本的子节点的父节点

find parent node of the child that contains text

我有这样的结构:

div
    div
       span **text NAME_OF_SOMETHINK**
    div
       span **text ADVERT**
div
   ...
      ...
div
   ...
      ...

我需要从 span 中提取文本 >NAME_OF_SOMETHINK,如果相对 div 具有包含文本的 span > ADVERT

您可以尝试这样的操作:

response.xpath(
    "//div[contains(., 'ADVERT')]/../preceding-sibling::div/span[contains(., 'NAME_OF_SOMETHINK')]/text()"
).getall()