How to create HtmlUnit HTMLPage object from String?
htmlunit, java
Solution
This code works in 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());
Problem
This question was asked once already, but the API changed I guess and the answers are no valid anymore. ``` 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()); ``` Can't be done because TopLevelWindow is protected and stuff like extending/implementing the window because of that is ridiculous :) Anybody has an idea how to do that ? It seems to me weird that it can't be done easily.