2016-01-05 93 views
1

我在Java/HTML5 Web项目上使用Selenium WebDriver Java API。我们不使用很多ID,所以我使用xPath来隔离值。在以下HTML代码片段中,当我使用常规方法获取值时,会返回标签和值文本。如何使用Selenium从无ID的div中获取值

<div class="gf-item col-sm-4"><label>First Name</label>Emma</div> 

有没有一种优雅的方式来使用Selenium获取值(“Emma”)?

谢谢!

回答

1

我相信的XPath将

//div[@class="gf-item col-sm-4"]/label/following-sibling::text() 
0

有可能是这是一个漂亮的方法。我会创建两个选择器。一个只返回你想排除的内容,一个返回你想要的和你不需要的内容。然后使用一些Java来比较和删除你不想要的东西。我不做xpath,所以这是所有的CSS选择器。

首先, '大' 选择 - 收益 '第一NameEmma'

$$("div.gf-item") 

那么 '微调' 选择来定义我们不想要的东西 - 回报“名字”

$$("div.gf-item>label") 

然后一些Java来比较和删除'额外'的东西,这将删除'名字',并只留下'艾玛'

String big = getText(big); 
    String trim = getTextText(trim); 
    String desiredText = big.replaceAll(trim, ""); 
相关问题