如何使用Selenium,Java从div元素获取文本? [重复]

问题描述 投票:0回答:2

我正在寻找一种方法来从FireBase和Appsflyer上的div元素中获取“TOTAL INSTALLS”的数字。

我已经尝试使用元素的XPath或id选择器,但它们不起作用。我想问题是getText()函数和Inner HTML

我对前端开发知之甚少,所以请解释一下我应该使用哪种方法。这是元素的html代码。

java html selenium automation qa
2个回答
0
投票

如果无法获取文本值,请尝试获取innerHTML值。尝试其中一个选项。看看是否有效。

选项1:

WebElement Element1 = driver.findElement(By.cssSelector("h5.af-kpi-box-footer"));
System.out.println(Element1.getAttribute("innerHTML"));

选项2

WebElement element2=driver.findElement(By.cssSelector("h5.af-kpi-box-footer"));
JavascriptExecutor executor = (JavascriptExecutor) driver;
System.out.println(executor.executeScript("return arguments[0].innerHTML", element2));

0
投票

您可以使用className上的getText()方法获取总安装数和文本:af-kpi-box-footer,如:

WebElement totalInstallsElement = driver.findElement(By.className("af-kpi-box-footer"));
String totalInstallsText = totalInstallsElement.getText();

totalInstallsText字符串会给你文本Total Installs: 638

更新的答案(使用xpath)

WebElement totalInstallsElement = driver.findElement(By.xpath("//h5[@class='af-kpi-box-footer']"));
© www.soinside.com 2019 - 2024. All rights reserved.