從下面的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