在XPath中获取标签后面的文本

时间:2016-09-01 19:18:44

标签: java css selenium xpath selenium-webdriver

我正在尝试使用Selenium进行一些测试,我遇到了一些问题。假设我有以下内容:

<div class="itemize-row">                                              
  <p class="subText">
    <span class="item-label">Card Color:</span> Mandarin
    <span class="item-label">Colored Mug:</span> Red
  </p>
</div>  

有人能告诉我如何检索数据&#34; Red&#34;使用XPath还是CSS?

1 个答案:

答案 0 :(得分:1)

这个XPath,

//span[@class='item-label' and .='Colored Mug:']/following-sibling::text()[1]

将按要求返回"Red"

  

一般来说,是的,但在Selenium中,你不能指向文本   节点。 XPath表达式必须指向“元素”。 - alecxe

好的,考虑到Selenium限制,这个XPath,

substring-after(//span[@class='item-label' and .='Colored Mug:']/.., 'Colored Mug:')

利用了目标位于标签父级字符串值末尾的事实,也会根据请求返回"Red"