Чтение исходного кода HTML из переменной в HTMLUNIT - PullRequest
2 голосов
/ 18 января 2012

Все примеры, которые я вижу для htmlunit, извлекают HTML-код с веб-сайта по URL-адресу, используя getPage .

WebClient webClient = new WebClient();
HtmlPage page = webClient.getPage("http://htmlunit.sourceforge.net");

Я держу фрагмент HTML в строковой переменной и не могу найти способ передать ему HTML из переменной.

Я пытался привести String к HtmlPage, но это не работает.

HtmlPage page = (HtmlPage) htmlFragment

1 Ответ

3 голосов
/ 18 января 2012

Возможно, вы могли бы записать фрагмент HTML (возможно, обернутый в стандартные теги html / head / body) во временный файл и использовать его URL для вашего веб-клиента.Например (не проверено):

File tempFile = File.createTempFile("fragment", "html");
HtmlPage startPage = webClient.getPage(tempFile.toURI().toURL().toString());
tempFile.deleteOnExit();

В качестве альтернативы, вы можете создать свой собственный HtmlPage с фальшивым URL-адресом и специальным WebResponse* 1009.* и WebWindow но это может потребовать много взлома.

...