public interface Request
Page:
Page.onRequest() emitted when the request is issued by the page.Page.onResponse() emitted when/if the response status and headers are received for the request.Page.onRequestFinished() emitted when the response body is downloaded and the request is
complete. If request fails at some point, then instead of "requestfinished" event (and possibly instead of 'response' event),
the Page.onRequestFailed() event is emitted.
NOTE: HTTP Error responses, such as 404 or 503, are still successful responses from HTTP standpoint, so request will complete
with "requestfinished" event.
If request gets a 'redirect' response, the request is successfully finished with the 'requestfinished' event, and a new request is issued to a redirected url.
| Modifier and Type | Method and Description |
|---|---|
String |
failure()
The method returns
null unless this request has failed, as reported by requestfailed event. |
Frame |
frame()
Returns the
Frame that initiated this request. |
Map<String,String> |
headers()
An object with HTTP headers associated with the request.
|
boolean |
isNavigationRequest()
Whether this request is driving frame's navigation.
|
String |
method()
Request's method (GET, POST, etc.)
|
String |
postData()
Request's post body, if any.
|
byte[] |
postDataBuffer()
Request's post body in a binary form, if any.
|
Request |
redirectedFrom()
Request that was redirected by the server to this one, if any.
|
Request |
redirectedTo()
New request issued by the browser if the server responded with redirect.
|
String |
resourceType()
Contains the request's resource type as it was perceived by the rendering engine.
|
Response |
response()
Returns the matching
Response object, or null if the response was not received due to error. |
Timing |
timing()
Returns resource timing information for given request.
|
String |
url()
URL of the request.
|
String failure()
null unless this request has failed, as reported by requestfailed event.
Example of logging of all the failed requests:
page.onRequestFailed(request -> {
System.out.println(request.url() + " " + request.failure());
});
Frame frame()
Frame that initiated this request.Map<String,String> headers()
boolean isNavigationRequest()
String method()
String postData()
byte[] postDataBuffer()
Request redirectedFrom()
When the server responds with a redirect, Playwright creates a new Request object. The two requests are connected by
redirectedFrom() and redirectedTo() methods. When multiple server redirects has happened, it is possible to
construct the whole redirect chain by repeatedly calling redirectedFrom().
For example, if the website http://example.com redirects to https://example.com:
Response response = page.navigate("http://example.com");
System.out.println(response.request().redirectedFrom().url()); // "http://example.com"
If the website https://google.com has no redirects:
Response response = page.navigate("https://google.com");
System.out.println(response.request().redirectedFrom()); // null
Request redirectedTo()
This method is the opposite of Request.redirectedFrom():
System.out.println(request.redirectedFrom().redirectedTo() == request); // true
String resourceType()
document, stylesheet, image, media, font, script, texttrack, xhr, fetch, eventsource,
websocket, manifest, other.Response response()
Response object, or null if the response was not received due to error.Timing timing()
responseEnd becomes available when request finishes. Find more information at Resource Timing API.
page.onRequestFinished(request -> {
Timing timing = request.timing();
System.out.println(timing.responseEnd - timing.startTime);
});
page.navigate("http://example.com");
String url()
Copyright © 2021. All rights reserved.