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

xqnpmsa8  于 2023-10-19  发布在  Java
关注(0)|答案(4)|浏览(166)

我有一个按钮,点击它会生成一个数字,这个数字被 Package 在段落文本中,比如<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();

但在控制台上,
线程“main”中出现异常java.lang.NullPointerException

os8fio9y

os8fio9y1#

尝试使用以下方法:

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

bzzcjhmw2#

使用xpath locator尝试下面的代码

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

**xpath的解释:-**使用<div>标记的class属性,然后继续使用<p><b>标记。

ktca8awb

ktca8awb3#

尝试下面的代码使用定位器

String element = driver.findElement(By.xpath("//div[@class='alert alert-count']")).getText();
System.out.println(element);
polhcujo

polhcujo4#

我已经在本地尝试过了(在Python中),它工作正常。
这段代码的语法似乎是:

//p[@class='classname']

示例:

我要抓取的对象:

<p class="randomtext">Random Text</p>

获取对象的代码:

var = browser.find_element(By.XPATH, value="//p[@class='randomtext']")
print(var.text)
>>> Random Text

相关问题