如何根据上一个div内的文本抓取div的内容

时间:2018-12-04 14:19:09

标签: xpath

<div class="field field-name-field-entry-level field-type-text field-label-above">
      <div class="field-label">Entry level</div>
    <div class="field-items">
    <div class="field-item">
              <div class="">Level 1</div>

我正在尝试根据上面带有“ Entry Level”字样的div获取文本“ Level 1”。

我正在尝试以下产品的变体

//div[@class='field-label'][text()='Entry Level']/following-sibling::div[2]

但是由于某种原因似乎无法抓住它。

2 个答案:

答案 0 :(得分:0)

这是因为您要查找“ Entry Level”而不是“ Entry level”,所以我不得不更改带有“ contains”的文本标识部分,以使其正常工作以及Div索引:

//div[@class='field-label'][contains(text(),'Entry level')]/following-sibling::div[1]

答案 1 :(得分:0)

您可以尝试

# for exact match
//div[text()='Entry level']/following-sibling::*/div/div
//div[@class='field-label' and text()='Entry level']/following-sibling::*/div/div
(//div[@class='field-label' and text()='Entry level']/following-sibling::*//div)[2]

# for contain
//div[contains(text(),'Entry level')]/following-sibling::*/div/div