2015-11-03 6 views
1

Я пытаюсь получить текст с html-страницы, которая находится в скрытом диапазоне.Получение скрытого текста из HTML в JAVA с использованием Selenium и WebDriver

<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 для 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