我在Java / HTML5 Web项目上使用Selenium WebDriver Java API。我们不使用很多ID,所以我使用xPath来隔离值。在以下HTML代码段中,当我使用常规方法获取值时,将返回标签和值文本。
<div class="gf-item col-sm-4"><label>First Name</label>Emma</div>
是否有一种优雅的方法可以使用Selenium获取值(“Emma”)?
谢谢!
答案 0 :(得分:1)
我相信XPath将是
//div[@class="gf-item col-sm-4"]/label/following-sibling::text()
答案 1 :(得分:0)
可能有一个更漂亮的方法。我会创建两个选择器。一个只返回你想要排除的东西,一个返回你想要的东西和你不想要的东西。然后使用一些Java来比较和删除你不想要的东西。我不做xpath所以这是所有css选择器。
首先,'大'选择器 - 返回'First NameEmma'
$$("div.gf-item")
然后'trim'选择器定义我们不想要的东西 - 返回'First Name'
$$("div.gf-item>label")
然后一些Java来比较并删除'额外'的东西。这将删除“名字”并仅留下“艾玛”。
String big = getText(big);
String trim = getTextText(trim);
String desiredText = big.replaceAll(trim, "");