2014-01-05 1 views
1

Как я могу применить javascript к html, хранящемуся в string/stringbuffer?
Я извлекая HTML веб-страницы с использованием JavaКак применить javascript к html, хранящемуся в строке/stringbuffer

URL url = new URL("example.com"); 
InputStream is = url.openStream(); 
int ptr = 0; 
StringBuffer buffer = new StringBuffer(); 
while ((ptr = is.read()) != -1) { 
    buffer.append((char)ptr); 
} 
System.out.println(buffer); 

, и я хочу, чтобы применить JavaScript к буфера получить innerHTML некоторого тега с помощью document.getElementById().

Моя цель - получить innerHTML какого-либо тега внутри веб-страницы, не открывая его в браузере. Правильно ли я использую? Есть ли другой способ сделать это?

+0

Я добавил 'java' тег на ваш вопрос, потому что это звучит, как вы хотите применить JavaScript в рамках программы Java в HTML хранится в виде строки. (В любом случае jQuery вообще не относится к этому.) –

ответ

2

Для этого вам не нужен JavaScript, а не в рамках программы Java.

Вы можете использовать парсер DOM, например Jsoup, а затем использовать методы в Jsoup, которые позволяют вам извлекать элементы и их текст. Jsoup - это не единственная библиотека, которая делает это, вы можете найти других, если будете искать. Это один из самых популярных на данный момент.

Пример использования Jsoup:

Document doc = Jsoup.connect("http://example.com").get(); 
Element element = doc.getElementById("theIdValue"); 
// Read the text of the element: 
String text = element.text(); 
// Or read the HTML of it 
String html = element.html(); 
+0

Ох! Благодаря ! Могу ли вы, пожалуйста, также предложить, как я могу использовать HttpOnly-файлы cookie с помощью Jsoup или каким-либо другим способом? – iAmLearning

+0

См. Http://stackoverflow.com/questions/20948159/how-to-get-httponly-cookie – iAmLearning

Смежные вопросы