向上走向祖先而不是倒退2个兄弟姐妹;的xpath

时间:2017-03-09 21:20:03

标签: python html xpath selenium-webdriver

我有像

这样的HTML
<span class="state">
  <label class="state button start" ...>"Start"</label>
</span>
<span class="name tracker_markup">
  <span class="labels pre">...</span>
  <span class="story_name">title</span>
</span>

enter image description here

我将永远了解&#34; story_name&#34;部分,在这种情况下&#34;标题&#34;。我需要点击标签部分&#34;开始&#34;。我怎么能在xpath中这样做?我有美味的汤,但xpath更容易。谢谢

2 个答案:

答案 0 :(得分:1)

尝试使用以下XPath表达式:

//span[span[@class="story_name" and text()="title"]]/preceding-sibling::span/label

答案 1 :(得分:1)

一种选择是:

//header[.//span[text()='title']]//span[@class='state']/label

//header[.//span[text()='title']]//label[contains(@class, 'start')]

或部分标题

//header[.//span[contains(text(), 'part_title')]]//label[contains(@class, 'start')]

而不是导航,我会找到带有此title的唯一部分,并在上面找到它内部的元素。您可以使用任何attribute或使用完整值的文本或使用contains尝试使用部分值的多种类型的组合。