Как создать объект HTMLtage HtmlUnit из String?
Этот вопрос был задан уже один раз, но API изменился, я думаю, и ответы больше не действительны.
URL url = new URL("http://www.example.com");
StringWebResponse response = new StringWebResponse("<html><head><title>Test</title></head><body></body></html>", url);
HtmlPage page = HTMLParser.parseHtml(response, new TopLevelWindow("top", new WebClient()));
System.out.println(page.getTitleText());
Не может быть сделано, потому что TopLevelWindow защищен и что-то вроде расширения/реализации окна, потому что это смешно:)
У кого-нибудь есть идея, как это сделать? Мне кажется странным, что это невозможно сделать легко.
Ответы
Ответ 1
Этот код работает в GroovyConsole
@Grapes(
@Grab(group='net.sourceforge.htmlunit', module='htmlunit', version='2.8')
)
import com.gargoylesoftware.htmlunit.*
import com.gargoylesoftware.htmlunit.html.*
URL url = new URL("http://www.example.com");
StringWebResponse response = new StringWebResponse("<html><head><title>Test</title></head><body></body></html>", url);
WebClient client = new WebClient()
HtmlPage page = HTMLParser.parseHtml(response, client.getCurrentWindow());
System.out.println(page.getTitleText());