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

时间:2015-11-03 11:41:37

标签: html selenium webdriver hidden-field

我正在尝试从隐藏的跨度中的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

3 个答案:

答案 0 :(得分:4)

您只需要获得如下所示的正确属性:
element.GetAttribute("textContent");
应该运作良好。

我想getAttribute for JAVA - 我在C#工作。

答案 1 :(得分:0)

试试这个会起作用

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

答案 2 :(得分:0)

我建议使用:

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