使用 Selenium 和 WebDriver 从 JAVA 中的 HTML 获取隐藏文本

Getting a hidden text from a HTML in JAVA using Selenium and WebDriver

我正在尝试从 html 页面获取文本,该页面位于隐藏范围内。

<span class="hide"> Nike </span>

我试过这样的事情:

WebElement element = driver.findElement(By.cssSelector(".product-page.clearfix > .hide > span"));
String content = (String)((JavascriptExecutor)driver).executeScript("arguments[0].innerHTML;", element);
product.setBrand(content)

我也尝试过使用“return arguments[0].innerHTML;”和“element.getText()

我知道我可以使用纯 javascript,但这是一个简单的示例,我需要使用 WebDriver 和 Java 代码来处理更复杂的页面。

java.lang.ClassCastException: package.driver.DhlWebDriver cannot be cast to org.openqa.selenium.JavascriptExecutor

尝试一下它会起作用

WebElement element = driver.findElement(By.cssSelector(".product-page.clearfix > .hide > span"));
String content = (String) ((JavascriptExecutor) driver).executeScript("return arguments[0].innerHTML", element);
System.out.println(content);

我正在使用 return arguments[0].innerHTML

您只需要获得如下所示的适当属性:
element.GetAttribute("textContent");
应该很好用。

我想 getAttribute 用于 JAVA - 我在 C# 工作。

我推荐使用:

JavascriptExecutor js = (JavascriptExecutor)element;
String content=(String) js.executeScript("return document.getElementsByClassName('hide').value;");
System.out.println(content);