如何使用java中的selenium获取段落元素<p>中包含的文本的值

时间:2017-04-27 08:49:25

标签: java selenium xpath

我有一个按钮,单击它会生成一个包含在段落文本中的数字,例如<p>random number <p>,我想获取该随机数值,并根据它生成的数字进行操作。从下面我需要获取34,756数字并将其存储在java中这里是它的html代码:

<div class="form-group">
<div class="alert alert-count">
  <p>
  <b>
<!-- react-text: 531 -->
<!-- /react-text -->
<!-- react-text: 532 -->
 34,756
<!-- /react-text -->
</b>

我使用的xpath如下

String count = driver.findElement(By.xpath("//div[@class='alert alert-count']/p[1]/b).getText();

但在控制台上它会出错

  

线程中的异常&#34; main&#34;显示java.lang.NullPointerException

3 个答案:

答案 0 :(得分:2)

尝试使用以下内容:

  String count = driver.findElement(By.cssSelector("div.alert.alert-count p")).getText();

答案 1 :(得分:1)

使用xpath locator

尝试以下代码
String element = driver.findElement(By.xpath("//div[@class='alert alert-count']/p/b")).getText();
System.out.println(element);

xpath的说明: - 使用class标记的<div>属性,继续使用<p><b>标记。

答案 2 :(得分:0)

使用XPath定位器

尝试以下代码
String element = driver.findElement(By.xpath("//div[@class='alert alert-count']")).getText();
System.out.println(element);