从下面的HTML代码,我想只选择第一跨度类文本..如何排除XPATH嵌套SPAN类
<span class="item_amount order_minibasket_amount order_full_minibasket">10
<span class="article">Article
<i class="icon"> >
</i>
</span>
</span>
这是我目前XPATH:
//span[contains(@class,'order_minibasket_amount')]
当我在我的Selenium测试使用此,我得到了整个SPAN TEXT。像:
10 Article >
我只是想要得到的“10”的文章量..
AMOUNT(new PageElement(By.xpath("//span[contains(@class,'order_minibasket_amount')]/text()[1]"), "not such Element...."))
public String getAmount() {
return amount = PageObjectUtil.findAndInitElementInside(webElement, PageElements.AMOUNT.pe, amount, String.class);
}
提前许多感谢,
干杯, KOKO
当我使用这个Xpath“// span [contains(@ class,'order_minibasket_amount')]/text()[1]” - 我得到了我想要的元素。但是我得到了这个错误。由...引起:org.openqa.selenium.InvalidSelectorException:无效的选择器:xpath表达式的结果“// span [contains(@ class,'order_sel_minibasket_amount')]/text()[1]”是:[object Text]。它应该是一个元素。 (会话信息:chrome = 36.0.1985.143) – KoKo 2014-09-04 13:56:18
@KoKo您可以编辑问题以显示您用来执行XPath的代码吗?该表达式是正确的,并且正在返回文本节点,但似乎您使用的API要求仅选择_element_节点。您可能需要分两步进行操作,使用XPath选择元素,然后通过其他API提取文本节点子元素。 – 2014-09-04 14:04:27
@ Ian Roberts - 非常感谢我编辑了我的第一个问题。 – KoKo 2014-09-04 14:22:41