2015-11-03 92 views
1

我试图从隐藏的跨度的HTML页面获取文本。使用Selenium和WebDriver从JAVA获取隐藏文本

<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 
+0

可能的重复[如何使用Selenium WebDriver从隐藏元素中读取文本?](http://stackoverflow.com/questions/13047056/how-to-read-text-from-hidden-element-with-selenium- webdriver) – JeffC

回答

4

你只需要得到适当的属性类似以下内容:
element.GetAttribute("textContent");
应该很好地工作。

我猜getAttribute for JAVA - 我在C#中工作。

+0

也适用于Java。 –

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); 

我用回arguments[0].innerHTML

相关问题