2013-11-26 2 views
0

Я хочу напечатать полностью вынесенное HTML с помощью Java.For этого я искал много на Google, а также нашел некоторые вопросы по SO КакАнализировать визуализации HTML с использованием Java

1: How do you render HTML using Java?
2: HTML parsing using java
3 : Rendering (streaming) HTML into Pane

Но, к сожалению, они мне не помогли.
Так что вещь, которую я хочу напечатать, представляет собой визуализированный HTML. Когда я пытаюсь сделать это с помощью простой java, тогда он не распечатывал исполняемый JavaScript (вместо этого он печатает JavaScript, который написан на странице HTML).
Пожалуйста, расскажите мне об этом
SO SIMPLY Я ПЫТАЮТСЯ ПЕЧАТЬ ОКАЗАННОГО HTML ПО БРАУЗЕРУ (не файл html, присутствующий на веб-сервере) ВКЛЮЧАЯ ВЫПОЛНЕННЫЙ JAVASCRIPT.
Спасибо

+0

JSoup? Это то, что я использую для анализа HTML. Не уверен, что это делает, но это может стоить взгляда. –

ответ

0

Есть куча пакетов, которые вы можете найти, похожие на Hypirinha в сети, если вы их ищете.

Возможно, лучший ответ, чем мой, но я думал, что это будет идея, которая может сработать для вас.

Кроме того, здесь JavaFX example, но я не уверен, соответствует ли оно вашей цели.

+1

Позвольте мне просто спросить: есть ли у этого API методы, которые печатают ВСЕ RENDERED html на консоли как String? – Despicable

+0

Да, на этой странице есть пример, но, конечно, вам нужно создать консоль JavaFX (или Swing) самостоятельно, что довольно просто найти в сети. – djangofan

+0

Я не хочу, чтобы захватить все элементы по одному, потому что я не знаю, что в HTML, который я пытаюсь проанализировать. Так будет ли этот API работать для этого? потому что я видел, что у него есть методы, которые захватывают их через тело, голову и т. д. – Despicable

0

Я создал компонент SimpleBrowser, чтобы получить html с WebView. Использование:

SimpleBrowser browser = new SimpleBrowser(); 

Scene scene = new Scene(browser); 

browser.load("http://stackoverflow.com", new Runnable() { 
    @Override 
    public void run() { 
     System.out.println(browser.getHTML()); 
    } 
}); 

код доступен в this answer или в this gist.

+0

Кажется хорошим :) Я не знаю о javafx. Этот код работает в простом проекте java? – Despicable

+0

Да, для этого требуется JDK 7. Он также работает в раннем доступе JDK 8 , –

+0

На самом деле я хочу сделать это в Java, а не в JavaFX – Despicable

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