如何使用Selenium从没有ID的div获取值

时间:2016-01-05 14:31:11

标签: javascript selenium xpath

我在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”)?

谢谢!

2 个答案:

答案 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, "");