use of com.gargoylesoftware.htmlunit.html.HtmlPage in project tomee by apache.
the class MoviesArquillianHtmlUnitTest method testShouldMakeSureWebappIsWorking.
@Test
public void testShouldMakeSureWebappIsWorking() throws Exception {
final String url = "http://" + deploymentUrl.getHost() + ":" + deploymentUrl.getPort() + "/moviefun";
WebClient webClient = new WebClient();
HtmlPage page = webClient.getPage(url + "/setup.jsp");
assertMoviesPresent(page);
page = webClient.getPage(url + "/moviefun");
assertMoviesPresent(page);
webClient.closeAllWindows();
}
use of com.gargoylesoftware.htmlunit.html.HtmlPage in project wechat by dllwh.
the class HtmlUnitHandler method crawl.
/**
* ----------------------------------------------- [私有方法]
*/
@Override
public String crawl(String url, CrawlParameter crawlPara) {
WebClient webClient = getWebClient(crawlPara);
String reqtype = crawlPara.getReqmethod();
Page page = null;
String resource = "";
try {
if (StringUtils.isNotBlank(reqtype)) {
WebRequest webRequest = new WebRequest(new URL(url));
if ("post".equals(reqtype)) {
webRequest.setHttpMethod(HttpMethod.POST);
} else if ("get".equals(reqtype)) {
webRequest.setHttpMethod(HttpMethod.GET);
}
Map<String, String> reqmap = crawlPara.getReqmap();
if (MapUtils.isNotEmpty(reqmap)) {
for (Entry<String, String> param : reqmap.entrySet()) {
webRequest.getRequestParameters().add(new NameValuePair(param.getKey(), param.getValue()));
}
}
page = webClient.getPage(webRequest);
resource = page.getWebResponse().getContentAsString();
} else {
page = webClient.getPage(url);
resource = ((HtmlPage) page).asXml();
}
} catch (Exception ex) {
ex.printStackTrace();
}
return resource;
}
use of com.gargoylesoftware.htmlunit.html.HtmlPage in project ats-framework by Axway.
the class AbstractHtmlEngine method reloadFrames.
@PublicAtsApi
public void reloadFrames() {
// real browsers reloads the frames automatically
if (webDriver instanceof HtmlUnitDriver) {
Field webClientField = null;
boolean fieldAccessibleState = false;
try {
// Retrieve current WebClient instance (with the current page) from the Selenium WebDriver
TargetLocator targetLocator = webDriver.switchTo();
webClientField = targetLocator.getClass().getDeclaringClass().getDeclaredField("webClient");
fieldAccessibleState = webClientField.isAccessible();
webClientField.setAccessible(true);
WebClient webClient = (WebClient) webClientField.get(targetLocator.defaultContent());
HtmlPage page = (HtmlPage) webClient.getCurrentWindow().getEnclosedPage();
for (final FrameWindow frameWindow : page.getFrames()) {
final BaseFrameElement frame = frameWindow.getFrameElement();
// use == and not equals(...) to identify initial content (versus URL set to "about:blank")
if (frame.getEnclosedPage().getWebResponse().getWebRequest().getUrl() == WebClient.URL_ABOUT_BLANK) {
String src = frame.getSrcAttribute();
if (src != null && !src.isEmpty()) {
final URL url;
try {
url = ((HtmlPage) frame.getEnclosedPage()).getFullyQualifiedUrl(src);
} catch (final MalformedURLException e) {
String message = "Invalid src attribute of " + frame.getTagName() + ": url=[" + src + "]. Ignored.";
final IncorrectnessListener incorrectnessListener = webClient.getIncorrectnessListener();
incorrectnessListener.notify(message, this);
return;
}
if (isAlreadyLoadedByAncestor(url, ((HtmlPage) frame.getEnclosedPage()))) {
String message = "Recursive src attribute of " + frame.getTagName() + ": url=[" + src + "]. Ignored.";
final IncorrectnessListener incorrectnessListener = webClient.getIncorrectnessListener();
incorrectnessListener.notify(message, this);
log.info("Frame already loaded: " + frame.toString());
return;
}
try {
final WebRequest request = new WebRequest(url);
request.setAdditionalHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9, text/*;q=0.7, */*;q=0.5");
if (frameWindow.getName() == null || frameWindow.getName().isEmpty()) {
frameWindow.setName("frame_" + page.getFrames().indexOf(frameWindow));
}
webClient.loadWebResponseInto(webClient.loadWebResponse(request), frameWindow);
log.info("Frame loaded: " + frame.toString());
} catch (IOException e) {
log.error("Error when getting content for " + frame.getTagName() + " with src=" + url, e);
}
}
} else {
log.info("Frame already loaded: " + frame.toString());
}
}
} catch (Exception e) {
throw new SeleniumOperationException("Error retrieving internal Selenium web client", e);
} finally {
if (webClientField != null) {
webClientField.setAccessible(fieldAccessibleState);
}
}
}
}
use of com.gargoylesoftware.htmlunit.html.HtmlPage in project chuidiang-ejemplos by chuidiang.
the class JavascriptWithHtmlUnit method main.
public static void main(String[] args) throws Exception {
WebClient webClient = new WebClient();
HtmlPage page = webClient.getPage("file:files/JavascriptWithHtmlUnit.html");
// Sale "hola", puesto que se ha ejecutado el codigo javascript de la pagina
System.out.println(page.getElementById("unDiv").getTextContent());
// Cambiamos el contenido usando funciones est�ndar de javascript en navegador
page.executeJavaScript("document.getElementById(\"unDiv\").innerHTML=\"que tal?\"");
System.out.println(page.getElementById("unDiv").getTextContent());
// Cambiamos el contenido con una funcion javascript definida en la pagina.
page.executeJavaScript("cambia(\"adios\")");
System.out.println(page.getElementById("unDiv").getTextContent());
}
use of com.gargoylesoftware.htmlunit.html.HtmlPage in project htmlpublisher-plugin by jenkinsci.
the class HtmlFileNameTest method fileNameWithSpecialCharactersAndMultipleSlashes.
@Test
public void fileNameWithSpecialCharactersAndMultipleSlashes() throws Exception {
final String content = "<html><head><title>test</title></head><body>Hello world!</body></html>";
FreeStyleProject job = j.createFreeStyleProject();
job.getBuildersList().add(new CreateFileBuilder("subdir/subdir2/#$&+,;= @.html", content));
job.getPublishersList().add(new HtmlPublisher(Arrays.asList(new HtmlPublisherTarget("report-name", "", "subdir/subdir2/*.html", true, true, false))));
job.save();
j.buildAndAssertSuccess(job);
JenkinsRule.WebClient client = j.createWebClient();
assertEquals(content, client.getPage(job, "report-name/subdir/subdir2/%23%24%26%2B%2C%3B%3D%20%40.html").getWebResponse().getContentAsString());
// published html page(s)
HtmlPage page = client.getPage(job, "report-name");
HtmlInlineFrame iframe = (HtmlInlineFrame) page.getElementById("myframe");
assertEquals("subdir/subdir2/%23%24%26%2B%2C%3B%3D%20%40.html", iframe.getAttribute("src"));
HtmlPage pageInIframe = (HtmlPage) iframe.getEnclosedPage();
assertEquals("Hello world!", pageInIframe.getBody().asNormalizedText());
}
Aggregations