feat(api): generate builder methods
This commit is contained in:
@@ -26,17 +26,17 @@ import java.util.*;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
abstract class Element<P extends Element> {
|
||||
abstract class Element {
|
||||
final String jsonName;
|
||||
final String jsonPath;
|
||||
final JsonElement jsonElement;
|
||||
final P parent;
|
||||
final Element parent;
|
||||
|
||||
Element(P parent, JsonElement jsonElement) {
|
||||
Element(Element parent, JsonElement jsonElement) {
|
||||
this(parent, false, jsonElement);
|
||||
}
|
||||
|
||||
Element(P parent, boolean useParentJsonPath, JsonElement jsonElement) {
|
||||
Element(Element parent, boolean useParentJsonPath, JsonElement jsonElement) {
|
||||
this.parent = parent;
|
||||
if (jsonElement != null && jsonElement.isJsonObject()) {
|
||||
this.jsonName = jsonElement.getAsJsonObject().get("name").getAsString();;
|
||||
@@ -55,11 +55,16 @@ abstract class Element<P extends Element> {
|
||||
TypeDefinition typeScope() {
|
||||
return parent.typeScope();
|
||||
}
|
||||
|
||||
static String toTitle(String name) {
|
||||
return Character.toUpperCase(name.charAt(0)) + name.substring(1);
|
||||
}
|
||||
}
|
||||
|
||||
// Represents return type of a method, type of a method param or type of a field.
|
||||
class TypeRef extends Element {
|
||||
String customType;
|
||||
boolean isNestedClass;
|
||||
|
||||
TypeRef(Element parent, JsonElement jsonElement) {
|
||||
super(parent, true, jsonElement);
|
||||
@@ -100,6 +105,7 @@ class TypeRef extends Element {
|
||||
typeScope().createEnum(customType, jsonName);
|
||||
} else if (isClass) {
|
||||
typeScope().createNestedClass(customType, this, jsonElement.getAsJsonObject());
|
||||
isNestedClass = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -146,14 +152,9 @@ class TypeRef extends Element {
|
||||
.replace("number", "int")
|
||||
.replace("null|", "");
|
||||
}
|
||||
|
||||
private static String toTitle(String name) {
|
||||
return Character.toUpperCase(name.charAt(0)) + name.substring(1);
|
||||
}
|
||||
}
|
||||
|
||||
abstract class TypeDefinition extends Element<Element> {
|
||||
final List<Method> methods = new ArrayList<>();
|
||||
abstract class TypeDefinition extends Element {
|
||||
final List<Enum> enums = new ArrayList<>();
|
||||
final List<NestedClass> classes = new ArrayList<>();
|
||||
|
||||
@@ -201,13 +202,10 @@ abstract class TypeDefinition extends Element<Element> {
|
||||
for (NestedClass c : classes) {
|
||||
c.writeTo(output, offset);
|
||||
}
|
||||
for (Method m : methods) {
|
||||
m.writeTo(output, offset);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class Method extends Element<TypeDefinition> {
|
||||
class Method extends Element {
|
||||
final TypeRef returnType;
|
||||
final List<Param> params = new ArrayList<>();
|
||||
|
||||
@@ -252,7 +250,7 @@ class Method extends Element<TypeDefinition> {
|
||||
}
|
||||
}
|
||||
|
||||
class Param extends Element<Method> {
|
||||
class Param extends Element {
|
||||
final TypeRef type;
|
||||
|
||||
Param(Method method, JsonObject jsonElement) {
|
||||
@@ -265,7 +263,7 @@ class Param extends Element<Method> {
|
||||
}
|
||||
}
|
||||
|
||||
class Field extends Element<NestedClass> {
|
||||
class Field extends Element {
|
||||
final String name;
|
||||
final TypeRef type;
|
||||
|
||||
@@ -275,12 +273,17 @@ class Field extends Element<NestedClass> {
|
||||
this.type = new TypeRef(this, jsonElement.getAsJsonObject().get("type"));
|
||||
}
|
||||
|
||||
String toJava() {
|
||||
return type.toJava() + " " + name;
|
||||
}
|
||||
|
||||
void writeTo(List<String> output, String offset) {
|
||||
output.add(offset + type.toJava() + " " + name + ";");
|
||||
output.add(offset + toJava() + ";");
|
||||
}
|
||||
}
|
||||
|
||||
class Interface extends TypeDefinition {
|
||||
private final List<Method> methods = new ArrayList<>();
|
||||
private static String header = "/**\n" +
|
||||
" * Copyright (c) Microsoft Corporation.\n" +
|
||||
" *\n" +
|
||||
@@ -319,8 +322,11 @@ class Interface extends TypeDefinition {
|
||||
output.add("import java.util.*;");
|
||||
output.add("import java.util.function.BiConsumer;");
|
||||
output.add("");
|
||||
output.add("interface " + jsonName + " {");
|
||||
output.add("public interface " + jsonName + " {");
|
||||
super.writeTo(output, offset + " ");
|
||||
for (Method m : methods) {
|
||||
m.writeTo(output, offset + " ");
|
||||
}
|
||||
output.add("}");
|
||||
output.add("\n");
|
||||
}
|
||||
@@ -341,13 +347,41 @@ class NestedClass extends TypeDefinition {
|
||||
}
|
||||
|
||||
void writeTo(List<String> output, String offset) {
|
||||
output.add(offset + "class " + name + " {");
|
||||
super.writeTo(output, offset + " ");
|
||||
String access = parent.typeScope() instanceof NestedClass ? "public " : "";
|
||||
output.add(offset + access + "class " + name + " {");
|
||||
String bodyOffset = offset + " ";
|
||||
super.writeTo(output, bodyOffset);
|
||||
for (Field f : fields) {
|
||||
f.writeTo(output, offset + " ");
|
||||
f.writeTo(output, bodyOffset);
|
||||
}
|
||||
output.add("");
|
||||
writeBuilderMethods(output, bodyOffset);
|
||||
output.add(offset + "}");
|
||||
}
|
||||
|
||||
private void writeBuilderMethods(List<String> output, String bodyOffset) {
|
||||
if (parent.typeScope() instanceof NestedClass) {
|
||||
NestedClass outer = (NestedClass) parent.typeScope();
|
||||
output.add(bodyOffset + name + "() {");
|
||||
output.add(bodyOffset + "}");
|
||||
output.add(bodyOffset + "public " + outer.name + " done() {");
|
||||
output.add(bodyOffset + " return " + outer.name + ".this;");
|
||||
output.add(bodyOffset + "}");
|
||||
output.add("");
|
||||
}
|
||||
for (Field f : fields) {
|
||||
if (f.type.isNestedClass) {
|
||||
output.add(bodyOffset + "public " + f.type.toJava() + " set" + toTitle(f.name) + "() {");
|
||||
output.add(bodyOffset + " this." + f.name + " = new " + f.type.toJava() + "();");
|
||||
output.add(bodyOffset + " return this." + f.name + ";");
|
||||
} else {
|
||||
output.add(bodyOffset + "public " + name + " with" + toTitle(f.name) + "(" + f.toJava() + ") {");
|
||||
output.add(bodyOffset + " this." + f.name + " = " + f.name + ";");
|
||||
output.add(bodyOffset + " return this;");
|
||||
}
|
||||
output.add(bodyOffset + "}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class Enum extends TypeDefinition {
|
||||
|
||||
@@ -19,10 +19,19 @@ package com.microsoft.playwright;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
interface Accessibility {
|
||||
public interface Accessibility {
|
||||
class SnapshotOptions {
|
||||
Boolean interestingOnly;
|
||||
ElementHandle root;
|
||||
|
||||
public SnapshotOptions withInterestingOnly(Boolean interestingOnly) {
|
||||
this.interestingOnly = interestingOnly;
|
||||
return this;
|
||||
}
|
||||
public SnapshotOptions withRoot(ElementHandle root) {
|
||||
this.root = root;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
Object snapshot(SnapshotOptions options);
|
||||
}
|
||||
|
||||
@@ -19,21 +19,70 @@ package com.microsoft.playwright;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
interface Browser {
|
||||
public interface Browser {
|
||||
class NewContextOptions {
|
||||
enum ColorScheme { DARK, LIGHT, NO_PREFERENCE}
|
||||
class Geolocation {
|
||||
public class Geolocation {
|
||||
double latitude;
|
||||
double longitude;
|
||||
double accuracy;
|
||||
|
||||
Geolocation() {
|
||||
}
|
||||
public NewContextOptions done() {
|
||||
return NewContextOptions.this;
|
||||
}
|
||||
|
||||
public Geolocation withLatitude(double latitude) {
|
||||
this.latitude = latitude;
|
||||
return this;
|
||||
}
|
||||
public Geolocation withLongitude(double longitude) {
|
||||
this.longitude = longitude;
|
||||
return this;
|
||||
}
|
||||
public Geolocation withAccuracy(double accuracy) {
|
||||
this.accuracy = accuracy;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class HttpCredentials {
|
||||
public class HttpCredentials {
|
||||
String username;
|
||||
String password;
|
||||
|
||||
HttpCredentials() {
|
||||
}
|
||||
public NewContextOptions done() {
|
||||
return NewContextOptions.this;
|
||||
}
|
||||
|
||||
public HttpCredentials withUsername(String username) {
|
||||
this.username = username;
|
||||
return this;
|
||||
}
|
||||
public HttpCredentials withPassword(String password) {
|
||||
this.password = password;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class VideoSize {
|
||||
public class VideoSize {
|
||||
int width;
|
||||
int height;
|
||||
|
||||
VideoSize() {
|
||||
}
|
||||
public NewContextOptions done() {
|
||||
return NewContextOptions.this;
|
||||
}
|
||||
|
||||
public VideoSize withWidth(int width) {
|
||||
this.width = width;
|
||||
return this;
|
||||
}
|
||||
public VideoSize withHeight(int height) {
|
||||
this.height = height;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
Boolean acceptDownloads;
|
||||
Boolean ignoreHTTPSErrors;
|
||||
@@ -57,21 +106,159 @@ interface Browser {
|
||||
Boolean recordVideos;
|
||||
VideoSize videoSize;
|
||||
Boolean recordTrace;
|
||||
|
||||
public NewContextOptions withAcceptDownloads(Boolean acceptDownloads) {
|
||||
this.acceptDownloads = acceptDownloads;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withIgnoreHTTPSErrors(Boolean ignoreHTTPSErrors) {
|
||||
this.ignoreHTTPSErrors = ignoreHTTPSErrors;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withBypassCSP(Boolean bypassCSP) {
|
||||
this.bypassCSP = bypassCSP;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withViewport(Object viewport) {
|
||||
this.viewport = viewport;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withUserAgent(String userAgent) {
|
||||
this.userAgent = userAgent;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withDeviceScaleFactor(Integer deviceScaleFactor) {
|
||||
this.deviceScaleFactor = deviceScaleFactor;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withIsMobile(Boolean isMobile) {
|
||||
this.isMobile = isMobile;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withHasTouch(Boolean hasTouch) {
|
||||
this.hasTouch = hasTouch;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withJavaScriptEnabled(Boolean javaScriptEnabled) {
|
||||
this.javaScriptEnabled = javaScriptEnabled;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withTimezoneId(String timezoneId) {
|
||||
this.timezoneId = timezoneId;
|
||||
return this;
|
||||
}
|
||||
public Geolocation setGeolocation() {
|
||||
this.geolocation = new Geolocation();
|
||||
return this.geolocation;
|
||||
}
|
||||
public NewContextOptions withLocale(String locale) {
|
||||
this.locale = locale;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withPermissions(List<String> permissions) {
|
||||
this.permissions = permissions;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withExtraHTTPHeaders(Map<String, String> extraHTTPHeaders) {
|
||||
this.extraHTTPHeaders = extraHTTPHeaders;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withOffline(Boolean offline) {
|
||||
this.offline = offline;
|
||||
return this;
|
||||
}
|
||||
public HttpCredentials setHttpCredentials() {
|
||||
this.httpCredentials = new HttpCredentials();
|
||||
return this.httpCredentials;
|
||||
}
|
||||
public NewContextOptions withColorScheme(ColorScheme colorScheme) {
|
||||
this.colorScheme = colorScheme;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withLogger(Logger logger) {
|
||||
this.logger = logger;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withRelativeArtifactsPath(String relativeArtifactsPath) {
|
||||
this.relativeArtifactsPath = relativeArtifactsPath;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withRecordVideos(Boolean recordVideos) {
|
||||
this.recordVideos = recordVideos;
|
||||
return this;
|
||||
}
|
||||
public VideoSize setVideoSize() {
|
||||
this.videoSize = new VideoSize();
|
||||
return this.videoSize;
|
||||
}
|
||||
public NewContextOptions withRecordTrace(Boolean recordTrace) {
|
||||
this.recordTrace = recordTrace;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class NewPageOptions {
|
||||
enum ColorScheme { DARK, LIGHT, NO_PREFERENCE}
|
||||
class Geolocation {
|
||||
public class Geolocation {
|
||||
double latitude;
|
||||
double longitude;
|
||||
double accuracy;
|
||||
|
||||
Geolocation() {
|
||||
}
|
||||
public NewPageOptions done() {
|
||||
return NewPageOptions.this;
|
||||
}
|
||||
|
||||
public Geolocation withLatitude(double latitude) {
|
||||
this.latitude = latitude;
|
||||
return this;
|
||||
}
|
||||
public Geolocation withLongitude(double longitude) {
|
||||
this.longitude = longitude;
|
||||
return this;
|
||||
}
|
||||
public Geolocation withAccuracy(double accuracy) {
|
||||
this.accuracy = accuracy;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class HttpCredentials {
|
||||
public class HttpCredentials {
|
||||
String username;
|
||||
String password;
|
||||
|
||||
HttpCredentials() {
|
||||
}
|
||||
public NewPageOptions done() {
|
||||
return NewPageOptions.this;
|
||||
}
|
||||
|
||||
public HttpCredentials withUsername(String username) {
|
||||
this.username = username;
|
||||
return this;
|
||||
}
|
||||
public HttpCredentials withPassword(String password) {
|
||||
this.password = password;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class VideoSize {
|
||||
public class VideoSize {
|
||||
int width;
|
||||
int height;
|
||||
|
||||
VideoSize() {
|
||||
}
|
||||
public NewPageOptions done() {
|
||||
return NewPageOptions.this;
|
||||
}
|
||||
|
||||
public VideoSize withWidth(int width) {
|
||||
this.width = width;
|
||||
return this;
|
||||
}
|
||||
public VideoSize withHeight(int height) {
|
||||
this.height = height;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
Boolean acceptDownloads;
|
||||
Boolean ignoreHTTPSErrors;
|
||||
@@ -95,6 +282,95 @@ interface Browser {
|
||||
Boolean recordVideos;
|
||||
VideoSize videoSize;
|
||||
Boolean recordTrace;
|
||||
|
||||
public NewPageOptions withAcceptDownloads(Boolean acceptDownloads) {
|
||||
this.acceptDownloads = acceptDownloads;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withIgnoreHTTPSErrors(Boolean ignoreHTTPSErrors) {
|
||||
this.ignoreHTTPSErrors = ignoreHTTPSErrors;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withBypassCSP(Boolean bypassCSP) {
|
||||
this.bypassCSP = bypassCSP;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withViewport(Object viewport) {
|
||||
this.viewport = viewport;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withUserAgent(String userAgent) {
|
||||
this.userAgent = userAgent;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withDeviceScaleFactor(Integer deviceScaleFactor) {
|
||||
this.deviceScaleFactor = deviceScaleFactor;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withIsMobile(Boolean isMobile) {
|
||||
this.isMobile = isMobile;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withHasTouch(Boolean hasTouch) {
|
||||
this.hasTouch = hasTouch;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withJavaScriptEnabled(Boolean javaScriptEnabled) {
|
||||
this.javaScriptEnabled = javaScriptEnabled;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withTimezoneId(String timezoneId) {
|
||||
this.timezoneId = timezoneId;
|
||||
return this;
|
||||
}
|
||||
public Geolocation setGeolocation() {
|
||||
this.geolocation = new Geolocation();
|
||||
return this.geolocation;
|
||||
}
|
||||
public NewPageOptions withLocale(String locale) {
|
||||
this.locale = locale;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withPermissions(List<String> permissions) {
|
||||
this.permissions = permissions;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withExtraHTTPHeaders(Map<String, String> extraHTTPHeaders) {
|
||||
this.extraHTTPHeaders = extraHTTPHeaders;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withOffline(Boolean offline) {
|
||||
this.offline = offline;
|
||||
return this;
|
||||
}
|
||||
public HttpCredentials setHttpCredentials() {
|
||||
this.httpCredentials = new HttpCredentials();
|
||||
return this.httpCredentials;
|
||||
}
|
||||
public NewPageOptions withColorScheme(ColorScheme colorScheme) {
|
||||
this.colorScheme = colorScheme;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withLogger(Logger logger) {
|
||||
this.logger = logger;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withRelativeArtifactsPath(String relativeArtifactsPath) {
|
||||
this.relativeArtifactsPath = relativeArtifactsPath;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withRecordVideos(Boolean recordVideos) {
|
||||
this.recordVideos = recordVideos;
|
||||
return this;
|
||||
}
|
||||
public VideoSize setVideoSize() {
|
||||
this.videoSize = new VideoSize();
|
||||
return this.videoSize;
|
||||
}
|
||||
public NewPageOptions withRecordTrace(Boolean recordTrace) {
|
||||
this.recordTrace = recordTrace;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
void close();
|
||||
List<BrowserContext> contexts();
|
||||
|
||||
@@ -19,9 +19,14 @@ package com.microsoft.playwright;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
interface BrowserContext {
|
||||
public interface BrowserContext {
|
||||
class GrantPermissionsOptions {
|
||||
String origin;
|
||||
|
||||
public GrantPermissionsOptions withOrigin(String origin) {
|
||||
this.origin = origin;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
void close();
|
||||
void addCookies(List<Object> cookies);
|
||||
|
||||
@@ -19,7 +19,7 @@ package com.microsoft.playwright;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
interface BrowserServer {
|
||||
public interface BrowserServer {
|
||||
void close();
|
||||
void kill();
|
||||
Object process();
|
||||
|
||||
@@ -19,19 +19,59 @@ package com.microsoft.playwright;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
interface BrowserType {
|
||||
public interface BrowserType {
|
||||
class ConnectOptions {
|
||||
String wsEndpoint;
|
||||
Integer slowMo;
|
||||
Logger logger;
|
||||
Integer timeout;
|
||||
|
||||
public ConnectOptions withWsEndpoint(String wsEndpoint) {
|
||||
this.wsEndpoint = wsEndpoint;
|
||||
return this;
|
||||
}
|
||||
public ConnectOptions withSlowMo(Integer slowMo) {
|
||||
this.slowMo = slowMo;
|
||||
return this;
|
||||
}
|
||||
public ConnectOptions withLogger(Logger logger) {
|
||||
this.logger = logger;
|
||||
return this;
|
||||
}
|
||||
public ConnectOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class LaunchOptions {
|
||||
class Proxy {
|
||||
public class Proxy {
|
||||
String server;
|
||||
String bypass;
|
||||
String username;
|
||||
String password;
|
||||
|
||||
Proxy() {
|
||||
}
|
||||
public LaunchOptions done() {
|
||||
return LaunchOptions.this;
|
||||
}
|
||||
|
||||
public Proxy withServer(String server) {
|
||||
this.server = server;
|
||||
return this;
|
||||
}
|
||||
public Proxy withBypass(String bypass) {
|
||||
this.bypass = bypass;
|
||||
return this;
|
||||
}
|
||||
public Proxy withUsername(String username) {
|
||||
this.username = username;
|
||||
return this;
|
||||
}
|
||||
public Proxy withPassword(String password) {
|
||||
this.password = password;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
Boolean headless;
|
||||
String executablePath;
|
||||
@@ -50,27 +90,168 @@ interface BrowserType {
|
||||
String env;
|
||||
Boolean devtools;
|
||||
Integer slowMo;
|
||||
|
||||
public LaunchOptions withHeadless(Boolean headless) {
|
||||
this.headless = headless;
|
||||
return this;
|
||||
}
|
||||
public LaunchOptions withExecutablePath(String executablePath) {
|
||||
this.executablePath = executablePath;
|
||||
return this;
|
||||
}
|
||||
public LaunchOptions withArgs(List<String> args) {
|
||||
this.args = args;
|
||||
return this;
|
||||
}
|
||||
public LaunchOptions withIgnoreDefaultArgs(Boolean ignoreDefaultArgs) {
|
||||
this.ignoreDefaultArgs = ignoreDefaultArgs;
|
||||
return this;
|
||||
}
|
||||
public Proxy setProxy() {
|
||||
this.proxy = new Proxy();
|
||||
return this.proxy;
|
||||
}
|
||||
public LaunchOptions withDownloadsPath(String downloadsPath) {
|
||||
this.downloadsPath = downloadsPath;
|
||||
return this;
|
||||
}
|
||||
public LaunchOptions withArtifactsPath(String artifactsPath) {
|
||||
this.artifactsPath = artifactsPath;
|
||||
return this;
|
||||
}
|
||||
public LaunchOptions withChromiumSandbox(Boolean chromiumSandbox) {
|
||||
this.chromiumSandbox = chromiumSandbox;
|
||||
return this;
|
||||
}
|
||||
public LaunchOptions withFirefoxUserPrefs(String firefoxUserPrefs) {
|
||||
this.firefoxUserPrefs = firefoxUserPrefs;
|
||||
return this;
|
||||
}
|
||||
public LaunchOptions withHandleSIGINT(Boolean handleSIGINT) {
|
||||
this.handleSIGINT = handleSIGINT;
|
||||
return this;
|
||||
}
|
||||
public LaunchOptions withHandleSIGTERM(Boolean handleSIGTERM) {
|
||||
this.handleSIGTERM = handleSIGTERM;
|
||||
return this;
|
||||
}
|
||||
public LaunchOptions withHandleSIGHUP(Boolean handleSIGHUP) {
|
||||
this.handleSIGHUP = handleSIGHUP;
|
||||
return this;
|
||||
}
|
||||
public LaunchOptions withLogger(Logger logger) {
|
||||
this.logger = logger;
|
||||
return this;
|
||||
}
|
||||
public LaunchOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
public LaunchOptions withEnv(String env) {
|
||||
this.env = env;
|
||||
return this;
|
||||
}
|
||||
public LaunchOptions withDevtools(Boolean devtools) {
|
||||
this.devtools = devtools;
|
||||
return this;
|
||||
}
|
||||
public LaunchOptions withSlowMo(Integer slowMo) {
|
||||
this.slowMo = slowMo;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class LaunchPersistentContextOptions {
|
||||
enum ColorScheme { DARK, LIGHT, NO_PREFERENCE}
|
||||
class Proxy {
|
||||
public class Proxy {
|
||||
String server;
|
||||
String bypass;
|
||||
String username;
|
||||
String password;
|
||||
|
||||
Proxy() {
|
||||
}
|
||||
public LaunchPersistentContextOptions done() {
|
||||
return LaunchPersistentContextOptions.this;
|
||||
}
|
||||
|
||||
public Proxy withServer(String server) {
|
||||
this.server = server;
|
||||
return this;
|
||||
}
|
||||
public Proxy withBypass(String bypass) {
|
||||
this.bypass = bypass;
|
||||
return this;
|
||||
}
|
||||
public Proxy withUsername(String username) {
|
||||
this.username = username;
|
||||
return this;
|
||||
}
|
||||
public Proxy withPassword(String password) {
|
||||
this.password = password;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class Geolocation {
|
||||
public class Geolocation {
|
||||
double latitude;
|
||||
double longitude;
|
||||
double accuracy;
|
||||
|
||||
Geolocation() {
|
||||
}
|
||||
public LaunchPersistentContextOptions done() {
|
||||
return LaunchPersistentContextOptions.this;
|
||||
}
|
||||
|
||||
public Geolocation withLatitude(double latitude) {
|
||||
this.latitude = latitude;
|
||||
return this;
|
||||
}
|
||||
public Geolocation withLongitude(double longitude) {
|
||||
this.longitude = longitude;
|
||||
return this;
|
||||
}
|
||||
public Geolocation withAccuracy(double accuracy) {
|
||||
this.accuracy = accuracy;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class HttpCredentials {
|
||||
public class HttpCredentials {
|
||||
String username;
|
||||
String password;
|
||||
|
||||
HttpCredentials() {
|
||||
}
|
||||
public LaunchPersistentContextOptions done() {
|
||||
return LaunchPersistentContextOptions.this;
|
||||
}
|
||||
|
||||
public HttpCredentials withUsername(String username) {
|
||||
this.username = username;
|
||||
return this;
|
||||
}
|
||||
public HttpCredentials withPassword(String password) {
|
||||
this.password = password;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class VideoSize {
|
||||
public class VideoSize {
|
||||
int width;
|
||||
int height;
|
||||
|
||||
VideoSize() {
|
||||
}
|
||||
public LaunchPersistentContextOptions done() {
|
||||
return LaunchPersistentContextOptions.this;
|
||||
}
|
||||
|
||||
public VideoSize withWidth(int width) {
|
||||
this.width = width;
|
||||
return this;
|
||||
}
|
||||
public VideoSize withHeight(int height) {
|
||||
this.height = height;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
Boolean headless;
|
||||
String executablePath;
|
||||
@@ -109,13 +290,185 @@ interface BrowserType {
|
||||
Boolean recordVideos;
|
||||
VideoSize videoSize;
|
||||
Boolean recordTrace;
|
||||
|
||||
public LaunchPersistentContextOptions withHeadless(Boolean headless) {
|
||||
this.headless = headless;
|
||||
return this;
|
||||
}
|
||||
public LaunchPersistentContextOptions withExecutablePath(String executablePath) {
|
||||
this.executablePath = executablePath;
|
||||
return this;
|
||||
}
|
||||
public LaunchPersistentContextOptions withArgs(List<String> args) {
|
||||
this.args = args;
|
||||
return this;
|
||||
}
|
||||
public LaunchPersistentContextOptions withIgnoreDefaultArgs(String ignoreDefaultArgs) {
|
||||
this.ignoreDefaultArgs = ignoreDefaultArgs;
|
||||
return this;
|
||||
}
|
||||
public Proxy setProxy() {
|
||||
this.proxy = new Proxy();
|
||||
return this.proxy;
|
||||
}
|
||||
public LaunchPersistentContextOptions withAcceptDownloads(Boolean acceptDownloads) {
|
||||
this.acceptDownloads = acceptDownloads;
|
||||
return this;
|
||||
}
|
||||
public LaunchPersistentContextOptions withDownloadsPath(String downloadsPath) {
|
||||
this.downloadsPath = downloadsPath;
|
||||
return this;
|
||||
}
|
||||
public LaunchPersistentContextOptions withArtifactsPath(String artifactsPath) {
|
||||
this.artifactsPath = artifactsPath;
|
||||
return this;
|
||||
}
|
||||
public LaunchPersistentContextOptions withChromiumSandbox(Boolean chromiumSandbox) {
|
||||
this.chromiumSandbox = chromiumSandbox;
|
||||
return this;
|
||||
}
|
||||
public LaunchPersistentContextOptions withHandleSIGINT(Boolean handleSIGINT) {
|
||||
this.handleSIGINT = handleSIGINT;
|
||||
return this;
|
||||
}
|
||||
public LaunchPersistentContextOptions withHandleSIGTERM(Boolean handleSIGTERM) {
|
||||
this.handleSIGTERM = handleSIGTERM;
|
||||
return this;
|
||||
}
|
||||
public LaunchPersistentContextOptions withHandleSIGHUP(Boolean handleSIGHUP) {
|
||||
this.handleSIGHUP = handleSIGHUP;
|
||||
return this;
|
||||
}
|
||||
public LaunchPersistentContextOptions withLogger(Logger logger) {
|
||||
this.logger = logger;
|
||||
return this;
|
||||
}
|
||||
public LaunchPersistentContextOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
public LaunchPersistentContextOptions withEnv(String env) {
|
||||
this.env = env;
|
||||
return this;
|
||||
}
|
||||
public LaunchPersistentContextOptions withDevtools(Boolean devtools) {
|
||||
this.devtools = devtools;
|
||||
return this;
|
||||
}
|
||||
public LaunchPersistentContextOptions withSlowMo(Integer slowMo) {
|
||||
this.slowMo = slowMo;
|
||||
return this;
|
||||
}
|
||||
public LaunchPersistentContextOptions withIgnoreHTTPSErrors(Boolean ignoreHTTPSErrors) {
|
||||
this.ignoreHTTPSErrors = ignoreHTTPSErrors;
|
||||
return this;
|
||||
}
|
||||
public LaunchPersistentContextOptions withBypassCSP(Boolean bypassCSP) {
|
||||
this.bypassCSP = bypassCSP;
|
||||
return this;
|
||||
}
|
||||
public LaunchPersistentContextOptions withViewport(Object viewport) {
|
||||
this.viewport = viewport;
|
||||
return this;
|
||||
}
|
||||
public LaunchPersistentContextOptions withUserAgent(String userAgent) {
|
||||
this.userAgent = userAgent;
|
||||
return this;
|
||||
}
|
||||
public LaunchPersistentContextOptions withDeviceScaleFactor(Integer deviceScaleFactor) {
|
||||
this.deviceScaleFactor = deviceScaleFactor;
|
||||
return this;
|
||||
}
|
||||
public LaunchPersistentContextOptions withIsMobile(Boolean isMobile) {
|
||||
this.isMobile = isMobile;
|
||||
return this;
|
||||
}
|
||||
public LaunchPersistentContextOptions withHasTouch(Boolean hasTouch) {
|
||||
this.hasTouch = hasTouch;
|
||||
return this;
|
||||
}
|
||||
public LaunchPersistentContextOptions withJavaScriptEnabled(Boolean javaScriptEnabled) {
|
||||
this.javaScriptEnabled = javaScriptEnabled;
|
||||
return this;
|
||||
}
|
||||
public LaunchPersistentContextOptions withTimezoneId(String timezoneId) {
|
||||
this.timezoneId = timezoneId;
|
||||
return this;
|
||||
}
|
||||
public Geolocation setGeolocation() {
|
||||
this.geolocation = new Geolocation();
|
||||
return this.geolocation;
|
||||
}
|
||||
public LaunchPersistentContextOptions withLocale(String locale) {
|
||||
this.locale = locale;
|
||||
return this;
|
||||
}
|
||||
public LaunchPersistentContextOptions withPermissions(List<String> permissions) {
|
||||
this.permissions = permissions;
|
||||
return this;
|
||||
}
|
||||
public LaunchPersistentContextOptions withExtraHTTPHeaders(Map<String, String> extraHTTPHeaders) {
|
||||
this.extraHTTPHeaders = extraHTTPHeaders;
|
||||
return this;
|
||||
}
|
||||
public LaunchPersistentContextOptions withOffline(Boolean offline) {
|
||||
this.offline = offline;
|
||||
return this;
|
||||
}
|
||||
public HttpCredentials setHttpCredentials() {
|
||||
this.httpCredentials = new HttpCredentials();
|
||||
return this.httpCredentials;
|
||||
}
|
||||
public LaunchPersistentContextOptions withColorScheme(ColorScheme colorScheme) {
|
||||
this.colorScheme = colorScheme;
|
||||
return this;
|
||||
}
|
||||
public LaunchPersistentContextOptions withRelativeArtifactsPath(String relativeArtifactsPath) {
|
||||
this.relativeArtifactsPath = relativeArtifactsPath;
|
||||
return this;
|
||||
}
|
||||
public LaunchPersistentContextOptions withRecordVideos(Boolean recordVideos) {
|
||||
this.recordVideos = recordVideos;
|
||||
return this;
|
||||
}
|
||||
public VideoSize setVideoSize() {
|
||||
this.videoSize = new VideoSize();
|
||||
return this.videoSize;
|
||||
}
|
||||
public LaunchPersistentContextOptions withRecordTrace(Boolean recordTrace) {
|
||||
this.recordTrace = recordTrace;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class LaunchServerOptions {
|
||||
class Proxy {
|
||||
public class Proxy {
|
||||
String server;
|
||||
String bypass;
|
||||
String username;
|
||||
String password;
|
||||
|
||||
Proxy() {
|
||||
}
|
||||
public LaunchServerOptions done() {
|
||||
return LaunchServerOptions.this;
|
||||
}
|
||||
|
||||
public Proxy withServer(String server) {
|
||||
this.server = server;
|
||||
return this;
|
||||
}
|
||||
public Proxy withBypass(String bypass) {
|
||||
this.bypass = bypass;
|
||||
return this;
|
||||
}
|
||||
public Proxy withUsername(String username) {
|
||||
this.username = username;
|
||||
return this;
|
||||
}
|
||||
public Proxy withPassword(String password) {
|
||||
this.password = password;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
Boolean headless;
|
||||
Integer port;
|
||||
@@ -134,6 +487,75 @@ interface BrowserType {
|
||||
Integer timeout;
|
||||
String env;
|
||||
Boolean devtools;
|
||||
|
||||
public LaunchServerOptions withHeadless(Boolean headless) {
|
||||
this.headless = headless;
|
||||
return this;
|
||||
}
|
||||
public LaunchServerOptions withPort(Integer port) {
|
||||
this.port = port;
|
||||
return this;
|
||||
}
|
||||
public LaunchServerOptions withExecutablePath(String executablePath) {
|
||||
this.executablePath = executablePath;
|
||||
return this;
|
||||
}
|
||||
public LaunchServerOptions withArgs(List<String> args) {
|
||||
this.args = args;
|
||||
return this;
|
||||
}
|
||||
public LaunchServerOptions withIgnoreDefaultArgs(String ignoreDefaultArgs) {
|
||||
this.ignoreDefaultArgs = ignoreDefaultArgs;
|
||||
return this;
|
||||
}
|
||||
public Proxy setProxy() {
|
||||
this.proxy = new Proxy();
|
||||
return this.proxy;
|
||||
}
|
||||
public LaunchServerOptions withDownloadsPath(String downloadsPath) {
|
||||
this.downloadsPath = downloadsPath;
|
||||
return this;
|
||||
}
|
||||
public LaunchServerOptions withArtifactsPath(String artifactsPath) {
|
||||
this.artifactsPath = artifactsPath;
|
||||
return this;
|
||||
}
|
||||
public LaunchServerOptions withChromiumSandbox(Boolean chromiumSandbox) {
|
||||
this.chromiumSandbox = chromiumSandbox;
|
||||
return this;
|
||||
}
|
||||
public LaunchServerOptions withFirefoxUserPrefs(String firefoxUserPrefs) {
|
||||
this.firefoxUserPrefs = firefoxUserPrefs;
|
||||
return this;
|
||||
}
|
||||
public LaunchServerOptions withHandleSIGINT(Boolean handleSIGINT) {
|
||||
this.handleSIGINT = handleSIGINT;
|
||||
return this;
|
||||
}
|
||||
public LaunchServerOptions withHandleSIGTERM(Boolean handleSIGTERM) {
|
||||
this.handleSIGTERM = handleSIGTERM;
|
||||
return this;
|
||||
}
|
||||
public LaunchServerOptions withHandleSIGHUP(Boolean handleSIGHUP) {
|
||||
this.handleSIGHUP = handleSIGHUP;
|
||||
return this;
|
||||
}
|
||||
public LaunchServerOptions withLogger(Logger logger) {
|
||||
this.logger = logger;
|
||||
return this;
|
||||
}
|
||||
public LaunchServerOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
public LaunchServerOptions withEnv(String env) {
|
||||
this.env = env;
|
||||
return this;
|
||||
}
|
||||
public LaunchServerOptions withDevtools(Boolean devtools) {
|
||||
this.devtools = devtools;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
Browser connect(ConnectOptions options);
|
||||
String executablePath();
|
||||
|
||||
@@ -19,7 +19,7 @@ package com.microsoft.playwright;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
interface CDPSession {
|
||||
public interface CDPSession {
|
||||
void detach();
|
||||
Object send(String method, Object params);
|
||||
}
|
||||
|
||||
@@ -19,26 +19,88 @@ package com.microsoft.playwright;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
interface ChromiumBrowser {
|
||||
public interface ChromiumBrowser {
|
||||
class StartTracingOptions {
|
||||
String path;
|
||||
Boolean screenshots;
|
||||
List<String> categories;
|
||||
|
||||
public StartTracingOptions withPath(String path) {
|
||||
this.path = path;
|
||||
return this;
|
||||
}
|
||||
public StartTracingOptions withScreenshots(Boolean screenshots) {
|
||||
this.screenshots = screenshots;
|
||||
return this;
|
||||
}
|
||||
public StartTracingOptions withCategories(List<String> categories) {
|
||||
this.categories = categories;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class NewContextOptions {
|
||||
enum ColorScheme { DARK, LIGHT, NO_PREFERENCE}
|
||||
class Geolocation {
|
||||
public class Geolocation {
|
||||
double latitude;
|
||||
double longitude;
|
||||
double accuracy;
|
||||
|
||||
Geolocation() {
|
||||
}
|
||||
public NewContextOptions done() {
|
||||
return NewContextOptions.this;
|
||||
}
|
||||
|
||||
public Geolocation withLatitude(double latitude) {
|
||||
this.latitude = latitude;
|
||||
return this;
|
||||
}
|
||||
public Geolocation withLongitude(double longitude) {
|
||||
this.longitude = longitude;
|
||||
return this;
|
||||
}
|
||||
public Geolocation withAccuracy(double accuracy) {
|
||||
this.accuracy = accuracy;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class HttpCredentials {
|
||||
public class HttpCredentials {
|
||||
String username;
|
||||
String password;
|
||||
|
||||
HttpCredentials() {
|
||||
}
|
||||
public NewContextOptions done() {
|
||||
return NewContextOptions.this;
|
||||
}
|
||||
|
||||
public HttpCredentials withUsername(String username) {
|
||||
this.username = username;
|
||||
return this;
|
||||
}
|
||||
public HttpCredentials withPassword(String password) {
|
||||
this.password = password;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class VideoSize {
|
||||
public class VideoSize {
|
||||
int width;
|
||||
int height;
|
||||
|
||||
VideoSize() {
|
||||
}
|
||||
public NewContextOptions done() {
|
||||
return NewContextOptions.this;
|
||||
}
|
||||
|
||||
public VideoSize withWidth(int width) {
|
||||
this.width = width;
|
||||
return this;
|
||||
}
|
||||
public VideoSize withHeight(int height) {
|
||||
this.height = height;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
Boolean acceptDownloads;
|
||||
Boolean ignoreHTTPSErrors;
|
||||
@@ -62,21 +124,159 @@ interface ChromiumBrowser {
|
||||
Boolean recordVideos;
|
||||
VideoSize videoSize;
|
||||
Boolean recordTrace;
|
||||
|
||||
public NewContextOptions withAcceptDownloads(Boolean acceptDownloads) {
|
||||
this.acceptDownloads = acceptDownloads;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withIgnoreHTTPSErrors(Boolean ignoreHTTPSErrors) {
|
||||
this.ignoreHTTPSErrors = ignoreHTTPSErrors;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withBypassCSP(Boolean bypassCSP) {
|
||||
this.bypassCSP = bypassCSP;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withViewport(Object viewport) {
|
||||
this.viewport = viewport;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withUserAgent(String userAgent) {
|
||||
this.userAgent = userAgent;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withDeviceScaleFactor(Integer deviceScaleFactor) {
|
||||
this.deviceScaleFactor = deviceScaleFactor;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withIsMobile(Boolean isMobile) {
|
||||
this.isMobile = isMobile;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withHasTouch(Boolean hasTouch) {
|
||||
this.hasTouch = hasTouch;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withJavaScriptEnabled(Boolean javaScriptEnabled) {
|
||||
this.javaScriptEnabled = javaScriptEnabled;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withTimezoneId(String timezoneId) {
|
||||
this.timezoneId = timezoneId;
|
||||
return this;
|
||||
}
|
||||
public Geolocation setGeolocation() {
|
||||
this.geolocation = new Geolocation();
|
||||
return this.geolocation;
|
||||
}
|
||||
public NewContextOptions withLocale(String locale) {
|
||||
this.locale = locale;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withPermissions(List<String> permissions) {
|
||||
this.permissions = permissions;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withExtraHTTPHeaders(Map<String, String> extraHTTPHeaders) {
|
||||
this.extraHTTPHeaders = extraHTTPHeaders;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withOffline(Boolean offline) {
|
||||
this.offline = offline;
|
||||
return this;
|
||||
}
|
||||
public HttpCredentials setHttpCredentials() {
|
||||
this.httpCredentials = new HttpCredentials();
|
||||
return this.httpCredentials;
|
||||
}
|
||||
public NewContextOptions withColorScheme(ColorScheme colorScheme) {
|
||||
this.colorScheme = colorScheme;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withLogger(Logger logger) {
|
||||
this.logger = logger;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withRelativeArtifactsPath(String relativeArtifactsPath) {
|
||||
this.relativeArtifactsPath = relativeArtifactsPath;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withRecordVideos(Boolean recordVideos) {
|
||||
this.recordVideos = recordVideos;
|
||||
return this;
|
||||
}
|
||||
public VideoSize setVideoSize() {
|
||||
this.videoSize = new VideoSize();
|
||||
return this.videoSize;
|
||||
}
|
||||
public NewContextOptions withRecordTrace(Boolean recordTrace) {
|
||||
this.recordTrace = recordTrace;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class NewPageOptions {
|
||||
enum ColorScheme { DARK, LIGHT, NO_PREFERENCE}
|
||||
class Geolocation {
|
||||
public class Geolocation {
|
||||
double latitude;
|
||||
double longitude;
|
||||
double accuracy;
|
||||
|
||||
Geolocation() {
|
||||
}
|
||||
public NewPageOptions done() {
|
||||
return NewPageOptions.this;
|
||||
}
|
||||
|
||||
public Geolocation withLatitude(double latitude) {
|
||||
this.latitude = latitude;
|
||||
return this;
|
||||
}
|
||||
public Geolocation withLongitude(double longitude) {
|
||||
this.longitude = longitude;
|
||||
return this;
|
||||
}
|
||||
public Geolocation withAccuracy(double accuracy) {
|
||||
this.accuracy = accuracy;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class HttpCredentials {
|
||||
public class HttpCredentials {
|
||||
String username;
|
||||
String password;
|
||||
|
||||
HttpCredentials() {
|
||||
}
|
||||
public NewPageOptions done() {
|
||||
return NewPageOptions.this;
|
||||
}
|
||||
|
||||
public HttpCredentials withUsername(String username) {
|
||||
this.username = username;
|
||||
return this;
|
||||
}
|
||||
public HttpCredentials withPassword(String password) {
|
||||
this.password = password;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class VideoSize {
|
||||
public class VideoSize {
|
||||
int width;
|
||||
int height;
|
||||
|
||||
VideoSize() {
|
||||
}
|
||||
public NewPageOptions done() {
|
||||
return NewPageOptions.this;
|
||||
}
|
||||
|
||||
public VideoSize withWidth(int width) {
|
||||
this.width = width;
|
||||
return this;
|
||||
}
|
||||
public VideoSize withHeight(int height) {
|
||||
this.height = height;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
Boolean acceptDownloads;
|
||||
Boolean ignoreHTTPSErrors;
|
||||
@@ -100,6 +300,95 @@ interface ChromiumBrowser {
|
||||
Boolean recordVideos;
|
||||
VideoSize videoSize;
|
||||
Boolean recordTrace;
|
||||
|
||||
public NewPageOptions withAcceptDownloads(Boolean acceptDownloads) {
|
||||
this.acceptDownloads = acceptDownloads;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withIgnoreHTTPSErrors(Boolean ignoreHTTPSErrors) {
|
||||
this.ignoreHTTPSErrors = ignoreHTTPSErrors;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withBypassCSP(Boolean bypassCSP) {
|
||||
this.bypassCSP = bypassCSP;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withViewport(Object viewport) {
|
||||
this.viewport = viewport;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withUserAgent(String userAgent) {
|
||||
this.userAgent = userAgent;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withDeviceScaleFactor(Integer deviceScaleFactor) {
|
||||
this.deviceScaleFactor = deviceScaleFactor;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withIsMobile(Boolean isMobile) {
|
||||
this.isMobile = isMobile;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withHasTouch(Boolean hasTouch) {
|
||||
this.hasTouch = hasTouch;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withJavaScriptEnabled(Boolean javaScriptEnabled) {
|
||||
this.javaScriptEnabled = javaScriptEnabled;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withTimezoneId(String timezoneId) {
|
||||
this.timezoneId = timezoneId;
|
||||
return this;
|
||||
}
|
||||
public Geolocation setGeolocation() {
|
||||
this.geolocation = new Geolocation();
|
||||
return this.geolocation;
|
||||
}
|
||||
public NewPageOptions withLocale(String locale) {
|
||||
this.locale = locale;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withPermissions(List<String> permissions) {
|
||||
this.permissions = permissions;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withExtraHTTPHeaders(Map<String, String> extraHTTPHeaders) {
|
||||
this.extraHTTPHeaders = extraHTTPHeaders;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withOffline(Boolean offline) {
|
||||
this.offline = offline;
|
||||
return this;
|
||||
}
|
||||
public HttpCredentials setHttpCredentials() {
|
||||
this.httpCredentials = new HttpCredentials();
|
||||
return this.httpCredentials;
|
||||
}
|
||||
public NewPageOptions withColorScheme(ColorScheme colorScheme) {
|
||||
this.colorScheme = colorScheme;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withLogger(Logger logger) {
|
||||
this.logger = logger;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withRelativeArtifactsPath(String relativeArtifactsPath) {
|
||||
this.relativeArtifactsPath = relativeArtifactsPath;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withRecordVideos(Boolean recordVideos) {
|
||||
this.recordVideos = recordVideos;
|
||||
return this;
|
||||
}
|
||||
public VideoSize setVideoSize() {
|
||||
this.videoSize = new VideoSize();
|
||||
return this.videoSize;
|
||||
}
|
||||
public NewPageOptions withRecordTrace(Boolean recordTrace) {
|
||||
this.recordTrace = recordTrace;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
CDPSession newBrowserCDPSession();
|
||||
void startTracing(Page page, StartTracingOptions options);
|
||||
|
||||
@@ -19,9 +19,14 @@ package com.microsoft.playwright;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
interface ChromiumBrowserContext {
|
||||
public interface ChromiumBrowserContext {
|
||||
class GrantPermissionsOptions {
|
||||
String origin;
|
||||
|
||||
public GrantPermissionsOptions withOrigin(String origin) {
|
||||
this.origin = origin;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
List<Page> backgroundPages();
|
||||
CDPSession newCDPSession(Page page);
|
||||
|
||||
@@ -19,13 +19,27 @@ package com.microsoft.playwright;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
interface ChromiumCoverage {
|
||||
public interface ChromiumCoverage {
|
||||
class StartCSSCoverageOptions {
|
||||
Boolean resetOnNavigation;
|
||||
|
||||
public StartCSSCoverageOptions withResetOnNavigation(Boolean resetOnNavigation) {
|
||||
this.resetOnNavigation = resetOnNavigation;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class StartJSCoverageOptions {
|
||||
Boolean resetOnNavigation;
|
||||
Boolean reportAnonymousScripts;
|
||||
|
||||
public StartJSCoverageOptions withResetOnNavigation(Boolean resetOnNavigation) {
|
||||
this.resetOnNavigation = resetOnNavigation;
|
||||
return this;
|
||||
}
|
||||
public StartJSCoverageOptions withReportAnonymousScripts(Boolean reportAnonymousScripts) {
|
||||
this.reportAnonymousScripts = reportAnonymousScripts;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
void startCSSCoverage(StartCSSCoverageOptions options);
|
||||
void startJSCoverage(StartJSCoverageOptions options);
|
||||
|
||||
@@ -19,11 +19,24 @@ package com.microsoft.playwright;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
interface ConsoleMessage {
|
||||
public interface ConsoleMessage {
|
||||
class Location {
|
||||
String url;
|
||||
int lineNumber;
|
||||
int columnNumber;
|
||||
|
||||
public Location withUrl(String url) {
|
||||
this.url = url;
|
||||
return this;
|
||||
}
|
||||
public Location withLineNumber(int lineNumber) {
|
||||
this.lineNumber = lineNumber;
|
||||
return this;
|
||||
}
|
||||
public Location withColumnNumber(int columnNumber) {
|
||||
this.columnNumber = columnNumber;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
List<JSHandle> args();
|
||||
Location location();
|
||||
|
||||
@@ -19,7 +19,7 @@ package com.microsoft.playwright;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
interface Dialog {
|
||||
public interface Dialog {
|
||||
void accept(String promptText);
|
||||
String defaultValue();
|
||||
void dismiss();
|
||||
|
||||
@@ -19,7 +19,7 @@ package com.microsoft.playwright;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
interface Download {
|
||||
public interface Download {
|
||||
Readable createReadStream();
|
||||
void delete();
|
||||
String failure();
|
||||
|
||||
@@ -19,19 +19,47 @@ package com.microsoft.playwright;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
interface ElementHandle {
|
||||
public interface ElementHandle {
|
||||
enum ElementState { DISABLED, ENABLED, HIDDEN, STABLE, VISIBLE}
|
||||
class CheckOptions {
|
||||
Boolean force;
|
||||
Boolean noWaitAfter;
|
||||
Integer timeout;
|
||||
|
||||
public CheckOptions withForce(Boolean force) {
|
||||
this.force = force;
|
||||
return this;
|
||||
}
|
||||
public CheckOptions withNoWaitAfter(Boolean noWaitAfter) {
|
||||
this.noWaitAfter = noWaitAfter;
|
||||
return this;
|
||||
}
|
||||
public CheckOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class ClickOptions {
|
||||
enum Button { LEFT, MIDDLE, RIGHT}
|
||||
enum Modifier { ALT, CONTROL, META, SHIFT}
|
||||
class Position {
|
||||
public class Position {
|
||||
int x;
|
||||
int y;
|
||||
|
||||
Position() {
|
||||
}
|
||||
public ClickOptions done() {
|
||||
return ClickOptions.this;
|
||||
}
|
||||
|
||||
public Position withX(int x) {
|
||||
this.x = x;
|
||||
return this;
|
||||
}
|
||||
public Position withY(int y) {
|
||||
this.y = y;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
Button button;
|
||||
Integer clickCount;
|
||||
@@ -41,13 +69,61 @@ interface ElementHandle {
|
||||
Boolean force;
|
||||
Boolean noWaitAfter;
|
||||
Integer timeout;
|
||||
|
||||
public ClickOptions withButton(Button button) {
|
||||
this.button = button;
|
||||
return this;
|
||||
}
|
||||
public ClickOptions withClickCount(Integer clickCount) {
|
||||
this.clickCount = clickCount;
|
||||
return this;
|
||||
}
|
||||
public ClickOptions withDelay(Integer delay) {
|
||||
this.delay = delay;
|
||||
return this;
|
||||
}
|
||||
public Position setPosition() {
|
||||
this.position = new Position();
|
||||
return this.position;
|
||||
}
|
||||
public ClickOptions withModifiers(Set<Modifier> modifiers) {
|
||||
this.modifiers = modifiers;
|
||||
return this;
|
||||
}
|
||||
public ClickOptions withForce(Boolean force) {
|
||||
this.force = force;
|
||||
return this;
|
||||
}
|
||||
public ClickOptions withNoWaitAfter(Boolean noWaitAfter) {
|
||||
this.noWaitAfter = noWaitAfter;
|
||||
return this;
|
||||
}
|
||||
public ClickOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class DblclickOptions {
|
||||
enum Button { LEFT, MIDDLE, RIGHT}
|
||||
enum Modifier { ALT, CONTROL, META, SHIFT}
|
||||
class Position {
|
||||
public class Position {
|
||||
int x;
|
||||
int y;
|
||||
|
||||
Position() {
|
||||
}
|
||||
public DblclickOptions done() {
|
||||
return DblclickOptions.this;
|
||||
}
|
||||
|
||||
public Position withX(int x) {
|
||||
this.x = x;
|
||||
return this;
|
||||
}
|
||||
public Position withY(int y) {
|
||||
this.y = y;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
Button button;
|
||||
Integer delay;
|
||||
@@ -56,26 +132,109 @@ interface ElementHandle {
|
||||
Boolean force;
|
||||
Boolean noWaitAfter;
|
||||
Integer timeout;
|
||||
|
||||
public DblclickOptions withButton(Button button) {
|
||||
this.button = button;
|
||||
return this;
|
||||
}
|
||||
public DblclickOptions withDelay(Integer delay) {
|
||||
this.delay = delay;
|
||||
return this;
|
||||
}
|
||||
public Position setPosition() {
|
||||
this.position = new Position();
|
||||
return this.position;
|
||||
}
|
||||
public DblclickOptions withModifiers(Set<Modifier> modifiers) {
|
||||
this.modifiers = modifiers;
|
||||
return this;
|
||||
}
|
||||
public DblclickOptions withForce(Boolean force) {
|
||||
this.force = force;
|
||||
return this;
|
||||
}
|
||||
public DblclickOptions withNoWaitAfter(Boolean noWaitAfter) {
|
||||
this.noWaitAfter = noWaitAfter;
|
||||
return this;
|
||||
}
|
||||
public DblclickOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class FillOptions {
|
||||
Boolean noWaitAfter;
|
||||
Integer timeout;
|
||||
|
||||
public FillOptions withNoWaitAfter(Boolean noWaitAfter) {
|
||||
this.noWaitAfter = noWaitAfter;
|
||||
return this;
|
||||
}
|
||||
public FillOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class HoverOptions {
|
||||
enum Modifier { ALT, CONTROL, META, SHIFT}
|
||||
class Position {
|
||||
public class Position {
|
||||
int x;
|
||||
int y;
|
||||
|
||||
Position() {
|
||||
}
|
||||
public HoverOptions done() {
|
||||
return HoverOptions.this;
|
||||
}
|
||||
|
||||
public Position withX(int x) {
|
||||
this.x = x;
|
||||
return this;
|
||||
}
|
||||
public Position withY(int y) {
|
||||
this.y = y;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
Position position;
|
||||
Set<Modifier> modifiers;
|
||||
Boolean force;
|
||||
Integer timeout;
|
||||
|
||||
public Position setPosition() {
|
||||
this.position = new Position();
|
||||
return this.position;
|
||||
}
|
||||
public HoverOptions withModifiers(Set<Modifier> modifiers) {
|
||||
this.modifiers = modifiers;
|
||||
return this;
|
||||
}
|
||||
public HoverOptions withForce(Boolean force) {
|
||||
this.force = force;
|
||||
return this;
|
||||
}
|
||||
public HoverOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class PressOptions {
|
||||
Integer delay;
|
||||
Boolean noWaitAfter;
|
||||
Integer timeout;
|
||||
|
||||
public PressOptions withDelay(Integer delay) {
|
||||
this.delay = delay;
|
||||
return this;
|
||||
}
|
||||
public PressOptions withNoWaitAfter(Boolean noWaitAfter) {
|
||||
this.noWaitAfter = noWaitAfter;
|
||||
return this;
|
||||
}
|
||||
public PressOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class ScreenshotOptions {
|
||||
enum Type { JPEG, PNG}
|
||||
@@ -84,38 +243,127 @@ interface ElementHandle {
|
||||
Integer quality;
|
||||
Boolean omitBackground;
|
||||
Integer timeout;
|
||||
|
||||
public ScreenshotOptions withPath(String path) {
|
||||
this.path = path;
|
||||
return this;
|
||||
}
|
||||
public ScreenshotOptions withType(Type type) {
|
||||
this.type = type;
|
||||
return this;
|
||||
}
|
||||
public ScreenshotOptions withQuality(Integer quality) {
|
||||
this.quality = quality;
|
||||
return this;
|
||||
}
|
||||
public ScreenshotOptions withOmitBackground(Boolean omitBackground) {
|
||||
this.omitBackground = omitBackground;
|
||||
return this;
|
||||
}
|
||||
public ScreenshotOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class ScrollIntoViewIfNeededOptions {
|
||||
Integer timeout;
|
||||
|
||||
public ScrollIntoViewIfNeededOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class SelectOptionOptions {
|
||||
Boolean noWaitAfter;
|
||||
Integer timeout;
|
||||
|
||||
public SelectOptionOptions withNoWaitAfter(Boolean noWaitAfter) {
|
||||
this.noWaitAfter = noWaitAfter;
|
||||
return this;
|
||||
}
|
||||
public SelectOptionOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class SelectTextOptions {
|
||||
Integer timeout;
|
||||
|
||||
public SelectTextOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class SetInputFilesOptions {
|
||||
Boolean noWaitAfter;
|
||||
Integer timeout;
|
||||
|
||||
public SetInputFilesOptions withNoWaitAfter(Boolean noWaitAfter) {
|
||||
this.noWaitAfter = noWaitAfter;
|
||||
return this;
|
||||
}
|
||||
public SetInputFilesOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class TypeOptions {
|
||||
Integer delay;
|
||||
Boolean noWaitAfter;
|
||||
Integer timeout;
|
||||
|
||||
public TypeOptions withDelay(Integer delay) {
|
||||
this.delay = delay;
|
||||
return this;
|
||||
}
|
||||
public TypeOptions withNoWaitAfter(Boolean noWaitAfter) {
|
||||
this.noWaitAfter = noWaitAfter;
|
||||
return this;
|
||||
}
|
||||
public TypeOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class UncheckOptions {
|
||||
Boolean force;
|
||||
Boolean noWaitAfter;
|
||||
Integer timeout;
|
||||
|
||||
public UncheckOptions withForce(Boolean force) {
|
||||
this.force = force;
|
||||
return this;
|
||||
}
|
||||
public UncheckOptions withNoWaitAfter(Boolean noWaitAfter) {
|
||||
this.noWaitAfter = noWaitAfter;
|
||||
return this;
|
||||
}
|
||||
public UncheckOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class WaitForElementStateOptions {
|
||||
Integer timeout;
|
||||
|
||||
public WaitForElementStateOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class WaitForSelectorOptions {
|
||||
enum State { ATTACHED, DETACHED, HIDDEN, VISIBLE}
|
||||
State state;
|
||||
Integer timeout;
|
||||
|
||||
public WaitForSelectorOptions withState(State state) {
|
||||
this.state = state;
|
||||
return this;
|
||||
}
|
||||
public WaitForSelectorOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
ElementHandle querySelector(String selector);
|
||||
List<ElementHandle> querySelectorAll(String selector);
|
||||
|
||||
@@ -19,10 +19,19 @@ package com.microsoft.playwright;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
interface FileChooser {
|
||||
public interface FileChooser {
|
||||
class SetFilesOptions {
|
||||
Boolean noWaitAfter;
|
||||
Integer timeout;
|
||||
|
||||
public SetFilesOptions withNoWaitAfter(Boolean noWaitAfter) {
|
||||
this.noWaitAfter = noWaitAfter;
|
||||
return this;
|
||||
}
|
||||
public SetFilesOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
ElementHandle element();
|
||||
boolean isMultiple();
|
||||
|
||||
@@ -19,21 +19,70 @@ package com.microsoft.playwright;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
interface FirefoxBrowser {
|
||||
public interface FirefoxBrowser {
|
||||
class NewContextOptions {
|
||||
enum ColorScheme { DARK, LIGHT, NO_PREFERENCE}
|
||||
class Geolocation {
|
||||
public class Geolocation {
|
||||
double latitude;
|
||||
double longitude;
|
||||
double accuracy;
|
||||
|
||||
Geolocation() {
|
||||
}
|
||||
public NewContextOptions done() {
|
||||
return NewContextOptions.this;
|
||||
}
|
||||
|
||||
public Geolocation withLatitude(double latitude) {
|
||||
this.latitude = latitude;
|
||||
return this;
|
||||
}
|
||||
public Geolocation withLongitude(double longitude) {
|
||||
this.longitude = longitude;
|
||||
return this;
|
||||
}
|
||||
public Geolocation withAccuracy(double accuracy) {
|
||||
this.accuracy = accuracy;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class HttpCredentials {
|
||||
public class HttpCredentials {
|
||||
String username;
|
||||
String password;
|
||||
|
||||
HttpCredentials() {
|
||||
}
|
||||
public NewContextOptions done() {
|
||||
return NewContextOptions.this;
|
||||
}
|
||||
|
||||
public HttpCredentials withUsername(String username) {
|
||||
this.username = username;
|
||||
return this;
|
||||
}
|
||||
public HttpCredentials withPassword(String password) {
|
||||
this.password = password;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class VideoSize {
|
||||
public class VideoSize {
|
||||
int width;
|
||||
int height;
|
||||
|
||||
VideoSize() {
|
||||
}
|
||||
public NewContextOptions done() {
|
||||
return NewContextOptions.this;
|
||||
}
|
||||
|
||||
public VideoSize withWidth(int width) {
|
||||
this.width = width;
|
||||
return this;
|
||||
}
|
||||
public VideoSize withHeight(int height) {
|
||||
this.height = height;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
Boolean acceptDownloads;
|
||||
Boolean ignoreHTTPSErrors;
|
||||
@@ -57,21 +106,159 @@ interface FirefoxBrowser {
|
||||
Boolean recordVideos;
|
||||
VideoSize videoSize;
|
||||
Boolean recordTrace;
|
||||
|
||||
public NewContextOptions withAcceptDownloads(Boolean acceptDownloads) {
|
||||
this.acceptDownloads = acceptDownloads;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withIgnoreHTTPSErrors(Boolean ignoreHTTPSErrors) {
|
||||
this.ignoreHTTPSErrors = ignoreHTTPSErrors;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withBypassCSP(Boolean bypassCSP) {
|
||||
this.bypassCSP = bypassCSP;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withViewport(Object viewport) {
|
||||
this.viewport = viewport;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withUserAgent(String userAgent) {
|
||||
this.userAgent = userAgent;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withDeviceScaleFactor(Integer deviceScaleFactor) {
|
||||
this.deviceScaleFactor = deviceScaleFactor;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withIsMobile(Boolean isMobile) {
|
||||
this.isMobile = isMobile;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withHasTouch(Boolean hasTouch) {
|
||||
this.hasTouch = hasTouch;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withJavaScriptEnabled(Boolean javaScriptEnabled) {
|
||||
this.javaScriptEnabled = javaScriptEnabled;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withTimezoneId(String timezoneId) {
|
||||
this.timezoneId = timezoneId;
|
||||
return this;
|
||||
}
|
||||
public Geolocation setGeolocation() {
|
||||
this.geolocation = new Geolocation();
|
||||
return this.geolocation;
|
||||
}
|
||||
public NewContextOptions withLocale(String locale) {
|
||||
this.locale = locale;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withPermissions(List<String> permissions) {
|
||||
this.permissions = permissions;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withExtraHTTPHeaders(Map<String, String> extraHTTPHeaders) {
|
||||
this.extraHTTPHeaders = extraHTTPHeaders;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withOffline(Boolean offline) {
|
||||
this.offline = offline;
|
||||
return this;
|
||||
}
|
||||
public HttpCredentials setHttpCredentials() {
|
||||
this.httpCredentials = new HttpCredentials();
|
||||
return this.httpCredentials;
|
||||
}
|
||||
public NewContextOptions withColorScheme(ColorScheme colorScheme) {
|
||||
this.colorScheme = colorScheme;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withLogger(Logger logger) {
|
||||
this.logger = logger;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withRelativeArtifactsPath(String relativeArtifactsPath) {
|
||||
this.relativeArtifactsPath = relativeArtifactsPath;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withRecordVideos(Boolean recordVideos) {
|
||||
this.recordVideos = recordVideos;
|
||||
return this;
|
||||
}
|
||||
public VideoSize setVideoSize() {
|
||||
this.videoSize = new VideoSize();
|
||||
return this.videoSize;
|
||||
}
|
||||
public NewContextOptions withRecordTrace(Boolean recordTrace) {
|
||||
this.recordTrace = recordTrace;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class NewPageOptions {
|
||||
enum ColorScheme { DARK, LIGHT, NO_PREFERENCE}
|
||||
class Geolocation {
|
||||
public class Geolocation {
|
||||
double latitude;
|
||||
double longitude;
|
||||
double accuracy;
|
||||
|
||||
Geolocation() {
|
||||
}
|
||||
public NewPageOptions done() {
|
||||
return NewPageOptions.this;
|
||||
}
|
||||
|
||||
public Geolocation withLatitude(double latitude) {
|
||||
this.latitude = latitude;
|
||||
return this;
|
||||
}
|
||||
public Geolocation withLongitude(double longitude) {
|
||||
this.longitude = longitude;
|
||||
return this;
|
||||
}
|
||||
public Geolocation withAccuracy(double accuracy) {
|
||||
this.accuracy = accuracy;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class HttpCredentials {
|
||||
public class HttpCredentials {
|
||||
String username;
|
||||
String password;
|
||||
|
||||
HttpCredentials() {
|
||||
}
|
||||
public NewPageOptions done() {
|
||||
return NewPageOptions.this;
|
||||
}
|
||||
|
||||
public HttpCredentials withUsername(String username) {
|
||||
this.username = username;
|
||||
return this;
|
||||
}
|
||||
public HttpCredentials withPassword(String password) {
|
||||
this.password = password;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class VideoSize {
|
||||
public class VideoSize {
|
||||
int width;
|
||||
int height;
|
||||
|
||||
VideoSize() {
|
||||
}
|
||||
public NewPageOptions done() {
|
||||
return NewPageOptions.this;
|
||||
}
|
||||
|
||||
public VideoSize withWidth(int width) {
|
||||
this.width = width;
|
||||
return this;
|
||||
}
|
||||
public VideoSize withHeight(int height) {
|
||||
this.height = height;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
Boolean acceptDownloads;
|
||||
Boolean ignoreHTTPSErrors;
|
||||
@@ -95,6 +282,95 @@ interface FirefoxBrowser {
|
||||
Boolean recordVideos;
|
||||
VideoSize videoSize;
|
||||
Boolean recordTrace;
|
||||
|
||||
public NewPageOptions withAcceptDownloads(Boolean acceptDownloads) {
|
||||
this.acceptDownloads = acceptDownloads;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withIgnoreHTTPSErrors(Boolean ignoreHTTPSErrors) {
|
||||
this.ignoreHTTPSErrors = ignoreHTTPSErrors;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withBypassCSP(Boolean bypassCSP) {
|
||||
this.bypassCSP = bypassCSP;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withViewport(Object viewport) {
|
||||
this.viewport = viewport;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withUserAgent(String userAgent) {
|
||||
this.userAgent = userAgent;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withDeviceScaleFactor(Integer deviceScaleFactor) {
|
||||
this.deviceScaleFactor = deviceScaleFactor;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withIsMobile(Boolean isMobile) {
|
||||
this.isMobile = isMobile;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withHasTouch(Boolean hasTouch) {
|
||||
this.hasTouch = hasTouch;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withJavaScriptEnabled(Boolean javaScriptEnabled) {
|
||||
this.javaScriptEnabled = javaScriptEnabled;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withTimezoneId(String timezoneId) {
|
||||
this.timezoneId = timezoneId;
|
||||
return this;
|
||||
}
|
||||
public Geolocation setGeolocation() {
|
||||
this.geolocation = new Geolocation();
|
||||
return this.geolocation;
|
||||
}
|
||||
public NewPageOptions withLocale(String locale) {
|
||||
this.locale = locale;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withPermissions(List<String> permissions) {
|
||||
this.permissions = permissions;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withExtraHTTPHeaders(Map<String, String> extraHTTPHeaders) {
|
||||
this.extraHTTPHeaders = extraHTTPHeaders;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withOffline(Boolean offline) {
|
||||
this.offline = offline;
|
||||
return this;
|
||||
}
|
||||
public HttpCredentials setHttpCredentials() {
|
||||
this.httpCredentials = new HttpCredentials();
|
||||
return this.httpCredentials;
|
||||
}
|
||||
public NewPageOptions withColorScheme(ColorScheme colorScheme) {
|
||||
this.colorScheme = colorScheme;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withLogger(Logger logger) {
|
||||
this.logger = logger;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withRelativeArtifactsPath(String relativeArtifactsPath) {
|
||||
this.relativeArtifactsPath = relativeArtifactsPath;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withRecordVideos(Boolean recordVideos) {
|
||||
this.recordVideos = recordVideos;
|
||||
return this;
|
||||
}
|
||||
public VideoSize setVideoSize() {
|
||||
this.videoSize = new VideoSize();
|
||||
return this.videoSize;
|
||||
}
|
||||
public NewPageOptions withRecordTrace(Boolean recordTrace) {
|
||||
this.recordTrace = recordTrace;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
void close();
|
||||
List<BrowserContext> contexts();
|
||||
|
||||
@@ -19,30 +19,88 @@ package com.microsoft.playwright;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
interface Frame {
|
||||
public interface Frame {
|
||||
enum LoadState { DOMCONTENTLOADED, LOAD, NETWORKIDLE}
|
||||
class AddScriptTagOptions {
|
||||
String url;
|
||||
String path;
|
||||
String content;
|
||||
String type;
|
||||
|
||||
public AddScriptTagOptions withUrl(String url) {
|
||||
this.url = url;
|
||||
return this;
|
||||
}
|
||||
public AddScriptTagOptions withPath(String path) {
|
||||
this.path = path;
|
||||
return this;
|
||||
}
|
||||
public AddScriptTagOptions withContent(String content) {
|
||||
this.content = content;
|
||||
return this;
|
||||
}
|
||||
public AddScriptTagOptions withType(String type) {
|
||||
this.type = type;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class AddStyleTagOptions {
|
||||
String url;
|
||||
String path;
|
||||
String content;
|
||||
|
||||
public AddStyleTagOptions withUrl(String url) {
|
||||
this.url = url;
|
||||
return this;
|
||||
}
|
||||
public AddStyleTagOptions withPath(String path) {
|
||||
this.path = path;
|
||||
return this;
|
||||
}
|
||||
public AddStyleTagOptions withContent(String content) {
|
||||
this.content = content;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class CheckOptions {
|
||||
Boolean force;
|
||||
Boolean noWaitAfter;
|
||||
Integer timeout;
|
||||
|
||||
public CheckOptions withForce(Boolean force) {
|
||||
this.force = force;
|
||||
return this;
|
||||
}
|
||||
public CheckOptions withNoWaitAfter(Boolean noWaitAfter) {
|
||||
this.noWaitAfter = noWaitAfter;
|
||||
return this;
|
||||
}
|
||||
public CheckOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class ClickOptions {
|
||||
enum Button { LEFT, MIDDLE, RIGHT}
|
||||
enum Modifier { ALT, CONTROL, META, SHIFT}
|
||||
class Position {
|
||||
public class Position {
|
||||
int x;
|
||||
int y;
|
||||
|
||||
Position() {
|
||||
}
|
||||
public ClickOptions done() {
|
||||
return ClickOptions.this;
|
||||
}
|
||||
|
||||
public Position withX(int x) {
|
||||
this.x = x;
|
||||
return this;
|
||||
}
|
||||
public Position withY(int y) {
|
||||
this.y = y;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
Button button;
|
||||
Integer clickCount;
|
||||
@@ -52,13 +110,61 @@ interface Frame {
|
||||
Boolean force;
|
||||
Boolean noWaitAfter;
|
||||
Integer timeout;
|
||||
|
||||
public ClickOptions withButton(Button button) {
|
||||
this.button = button;
|
||||
return this;
|
||||
}
|
||||
public ClickOptions withClickCount(Integer clickCount) {
|
||||
this.clickCount = clickCount;
|
||||
return this;
|
||||
}
|
||||
public ClickOptions withDelay(Integer delay) {
|
||||
this.delay = delay;
|
||||
return this;
|
||||
}
|
||||
public Position setPosition() {
|
||||
this.position = new Position();
|
||||
return this.position;
|
||||
}
|
||||
public ClickOptions withModifiers(Set<Modifier> modifiers) {
|
||||
this.modifiers = modifiers;
|
||||
return this;
|
||||
}
|
||||
public ClickOptions withForce(Boolean force) {
|
||||
this.force = force;
|
||||
return this;
|
||||
}
|
||||
public ClickOptions withNoWaitAfter(Boolean noWaitAfter) {
|
||||
this.noWaitAfter = noWaitAfter;
|
||||
return this;
|
||||
}
|
||||
public ClickOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class DblclickOptions {
|
||||
enum Button { LEFT, MIDDLE, RIGHT}
|
||||
enum Modifier { ALT, CONTROL, META, SHIFT}
|
||||
class Position {
|
||||
public class Position {
|
||||
int x;
|
||||
int y;
|
||||
|
||||
Position() {
|
||||
}
|
||||
public DblclickOptions done() {
|
||||
return DblclickOptions.this;
|
||||
}
|
||||
|
||||
public Position withX(int x) {
|
||||
this.x = x;
|
||||
return this;
|
||||
}
|
||||
public Position withY(int y) {
|
||||
this.y = y;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
Button button;
|
||||
Integer delay;
|
||||
@@ -67,91 +173,306 @@ interface Frame {
|
||||
Boolean force;
|
||||
Boolean noWaitAfter;
|
||||
Integer timeout;
|
||||
|
||||
public DblclickOptions withButton(Button button) {
|
||||
this.button = button;
|
||||
return this;
|
||||
}
|
||||
public DblclickOptions withDelay(Integer delay) {
|
||||
this.delay = delay;
|
||||
return this;
|
||||
}
|
||||
public Position setPosition() {
|
||||
this.position = new Position();
|
||||
return this.position;
|
||||
}
|
||||
public DblclickOptions withModifiers(Set<Modifier> modifiers) {
|
||||
this.modifiers = modifiers;
|
||||
return this;
|
||||
}
|
||||
public DblclickOptions withForce(Boolean force) {
|
||||
this.force = force;
|
||||
return this;
|
||||
}
|
||||
public DblclickOptions withNoWaitAfter(Boolean noWaitAfter) {
|
||||
this.noWaitAfter = noWaitAfter;
|
||||
return this;
|
||||
}
|
||||
public DblclickOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class DispatchEventOptions {
|
||||
Integer timeout;
|
||||
|
||||
public DispatchEventOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class FillOptions {
|
||||
Boolean noWaitAfter;
|
||||
Integer timeout;
|
||||
|
||||
public FillOptions withNoWaitAfter(Boolean noWaitAfter) {
|
||||
this.noWaitAfter = noWaitAfter;
|
||||
return this;
|
||||
}
|
||||
public FillOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class FocusOptions {
|
||||
Integer timeout;
|
||||
|
||||
public FocusOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class GetAttributeOptions {
|
||||
Integer timeout;
|
||||
|
||||
public GetAttributeOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class GotoOptions {
|
||||
enum WaitUntil { DOMCONTENTLOADED, LOAD, NETWORKIDLE}
|
||||
Integer timeout;
|
||||
WaitUntil waitUntil;
|
||||
String referer;
|
||||
|
||||
public GotoOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
public GotoOptions withWaitUntil(WaitUntil waitUntil) {
|
||||
this.waitUntil = waitUntil;
|
||||
return this;
|
||||
}
|
||||
public GotoOptions withReferer(String referer) {
|
||||
this.referer = referer;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class HoverOptions {
|
||||
enum Modifier { ALT, CONTROL, META, SHIFT}
|
||||
class Position {
|
||||
public class Position {
|
||||
int x;
|
||||
int y;
|
||||
|
||||
Position() {
|
||||
}
|
||||
public HoverOptions done() {
|
||||
return HoverOptions.this;
|
||||
}
|
||||
|
||||
public Position withX(int x) {
|
||||
this.x = x;
|
||||
return this;
|
||||
}
|
||||
public Position withY(int y) {
|
||||
this.y = y;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
Position position;
|
||||
Set<Modifier> modifiers;
|
||||
Boolean force;
|
||||
Integer timeout;
|
||||
|
||||
public Position setPosition() {
|
||||
this.position = new Position();
|
||||
return this.position;
|
||||
}
|
||||
public HoverOptions withModifiers(Set<Modifier> modifiers) {
|
||||
this.modifiers = modifiers;
|
||||
return this;
|
||||
}
|
||||
public HoverOptions withForce(Boolean force) {
|
||||
this.force = force;
|
||||
return this;
|
||||
}
|
||||
public HoverOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class InnerHTMLOptions {
|
||||
Integer timeout;
|
||||
|
||||
public InnerHTMLOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class InnerTextOptions {
|
||||
Integer timeout;
|
||||
|
||||
public InnerTextOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class PressOptions {
|
||||
Integer delay;
|
||||
Boolean noWaitAfter;
|
||||
Integer timeout;
|
||||
|
||||
public PressOptions withDelay(Integer delay) {
|
||||
this.delay = delay;
|
||||
return this;
|
||||
}
|
||||
public PressOptions withNoWaitAfter(Boolean noWaitAfter) {
|
||||
this.noWaitAfter = noWaitAfter;
|
||||
return this;
|
||||
}
|
||||
public PressOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class SelectOptionOptions {
|
||||
Boolean noWaitAfter;
|
||||
Integer timeout;
|
||||
|
||||
public SelectOptionOptions withNoWaitAfter(Boolean noWaitAfter) {
|
||||
this.noWaitAfter = noWaitAfter;
|
||||
return this;
|
||||
}
|
||||
public SelectOptionOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class SetContentOptions {
|
||||
enum WaitUntil { DOMCONTENTLOADED, LOAD, NETWORKIDLE}
|
||||
Integer timeout;
|
||||
WaitUntil waitUntil;
|
||||
|
||||
public SetContentOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
public SetContentOptions withWaitUntil(WaitUntil waitUntil) {
|
||||
this.waitUntil = waitUntil;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class SetInputFilesOptions {
|
||||
Boolean noWaitAfter;
|
||||
Integer timeout;
|
||||
|
||||
public SetInputFilesOptions withNoWaitAfter(Boolean noWaitAfter) {
|
||||
this.noWaitAfter = noWaitAfter;
|
||||
return this;
|
||||
}
|
||||
public SetInputFilesOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class TextContentOptions {
|
||||
Integer timeout;
|
||||
|
||||
public TextContentOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class TypeOptions {
|
||||
Integer delay;
|
||||
Boolean noWaitAfter;
|
||||
Integer timeout;
|
||||
|
||||
public TypeOptions withDelay(Integer delay) {
|
||||
this.delay = delay;
|
||||
return this;
|
||||
}
|
||||
public TypeOptions withNoWaitAfter(Boolean noWaitAfter) {
|
||||
this.noWaitAfter = noWaitAfter;
|
||||
return this;
|
||||
}
|
||||
public TypeOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class UncheckOptions {
|
||||
Boolean force;
|
||||
Boolean noWaitAfter;
|
||||
Integer timeout;
|
||||
|
||||
public UncheckOptions withForce(Boolean force) {
|
||||
this.force = force;
|
||||
return this;
|
||||
}
|
||||
public UncheckOptions withNoWaitAfter(Boolean noWaitAfter) {
|
||||
this.noWaitAfter = noWaitAfter;
|
||||
return this;
|
||||
}
|
||||
public UncheckOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class WaitForFunctionOptions {
|
||||
double polling;
|
||||
Integer timeout;
|
||||
|
||||
public WaitForFunctionOptions withPolling(double polling) {
|
||||
this.polling = polling;
|
||||
return this;
|
||||
}
|
||||
public WaitForFunctionOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class WaitForLoadStateOptions {
|
||||
Integer timeout;
|
||||
|
||||
public WaitForLoadStateOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class WaitForNavigationOptions {
|
||||
enum WaitUntil { DOMCONTENTLOADED, LOAD, NETWORKIDLE}
|
||||
Integer timeout;
|
||||
String url;
|
||||
WaitUntil waitUntil;
|
||||
|
||||
public WaitForNavigationOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
public WaitForNavigationOptions withUrl(String url) {
|
||||
this.url = url;
|
||||
return this;
|
||||
}
|
||||
public WaitForNavigationOptions withWaitUntil(WaitUntil waitUntil) {
|
||||
this.waitUntil = waitUntil;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class WaitForSelectorOptions {
|
||||
enum State { ATTACHED, DETACHED, HIDDEN, VISIBLE}
|
||||
State state;
|
||||
Integer timeout;
|
||||
|
||||
public WaitForSelectorOptions withState(State state) {
|
||||
this.state = state;
|
||||
return this;
|
||||
}
|
||||
public WaitForSelectorOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
ElementHandle querySelector(String selector);
|
||||
List<ElementHandle> querySelectorAll(String selector);
|
||||
|
||||
@@ -19,7 +19,7 @@ package com.microsoft.playwright;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
interface JSHandle {
|
||||
public interface JSHandle {
|
||||
ElementHandle asElement();
|
||||
void dispose();
|
||||
Object evaluate(String pageFunction, Object arg);
|
||||
|
||||
@@ -19,12 +19,22 @@ package com.microsoft.playwright;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
interface Keyboard {
|
||||
public interface Keyboard {
|
||||
class PressOptions {
|
||||
Integer delay;
|
||||
|
||||
public PressOptions withDelay(Integer delay) {
|
||||
this.delay = delay;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class TypeOptions {
|
||||
Integer delay;
|
||||
|
||||
public TypeOptions withDelay(Integer delay) {
|
||||
this.delay = delay;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
void down(String key);
|
||||
void insertText(String text);
|
||||
|
||||
@@ -19,10 +19,15 @@ package com.microsoft.playwright;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
interface Logger {
|
||||
public interface Logger {
|
||||
enum Severity { ERROR, INFO, VERBOSE, WARNING}
|
||||
class LogHints {
|
||||
String color;
|
||||
|
||||
public LogHints withColor(String color) {
|
||||
this.color = color;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
boolean isEnabled(String name, Severity severity);
|
||||
void log(String name, Severity severity, String message, List<Object> args, LogHints hints);
|
||||
|
||||
@@ -19,30 +19,75 @@ package com.microsoft.playwright;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
interface Mouse {
|
||||
public interface Mouse {
|
||||
class ClickOptions {
|
||||
enum Button { LEFT, MIDDLE, RIGHT}
|
||||
Button button;
|
||||
Integer clickCount;
|
||||
Integer delay;
|
||||
|
||||
public ClickOptions withButton(Button button) {
|
||||
this.button = button;
|
||||
return this;
|
||||
}
|
||||
public ClickOptions withClickCount(Integer clickCount) {
|
||||
this.clickCount = clickCount;
|
||||
return this;
|
||||
}
|
||||
public ClickOptions withDelay(Integer delay) {
|
||||
this.delay = delay;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class DblclickOptions {
|
||||
enum Button { LEFT, MIDDLE, RIGHT}
|
||||
Button button;
|
||||
Integer delay;
|
||||
|
||||
public DblclickOptions withButton(Button button) {
|
||||
this.button = button;
|
||||
return this;
|
||||
}
|
||||
public DblclickOptions withDelay(Integer delay) {
|
||||
this.delay = delay;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class DownOptions {
|
||||
enum Button { LEFT, MIDDLE, RIGHT}
|
||||
Button button;
|
||||
Integer clickCount;
|
||||
|
||||
public DownOptions withButton(Button button) {
|
||||
this.button = button;
|
||||
return this;
|
||||
}
|
||||
public DownOptions withClickCount(Integer clickCount) {
|
||||
this.clickCount = clickCount;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class MoveOptions {
|
||||
Integer steps;
|
||||
|
||||
public MoveOptions withSteps(Integer steps) {
|
||||
this.steps = steps;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class UpOptions {
|
||||
enum Button { LEFT, MIDDLE, RIGHT}
|
||||
Button button;
|
||||
Integer clickCount;
|
||||
|
||||
public UpOptions withButton(Button button) {
|
||||
this.button = button;
|
||||
return this;
|
||||
}
|
||||
public UpOptions withClickCount(Integer clickCount) {
|
||||
this.clickCount = clickCount;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
void click(int x, int y, ClickOptions options);
|
||||
void dblclick(int x, int y, DblclickOptions options);
|
||||
|
||||
@@ -19,33 +19,96 @@ package com.microsoft.playwright;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
interface Page {
|
||||
public interface Page {
|
||||
enum LoadState { DOMCONTENTLOADED, LOAD, NETWORKIDLE}
|
||||
class CloseOptions {
|
||||
Boolean runBeforeUnload;
|
||||
|
||||
public CloseOptions withRunBeforeUnload(Boolean runBeforeUnload) {
|
||||
this.runBeforeUnload = runBeforeUnload;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class AddScriptTagOptions {
|
||||
String url;
|
||||
String path;
|
||||
String content;
|
||||
String type;
|
||||
|
||||
public AddScriptTagOptions withUrl(String url) {
|
||||
this.url = url;
|
||||
return this;
|
||||
}
|
||||
public AddScriptTagOptions withPath(String path) {
|
||||
this.path = path;
|
||||
return this;
|
||||
}
|
||||
public AddScriptTagOptions withContent(String content) {
|
||||
this.content = content;
|
||||
return this;
|
||||
}
|
||||
public AddScriptTagOptions withType(String type) {
|
||||
this.type = type;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class AddStyleTagOptions {
|
||||
String url;
|
||||
String path;
|
||||
String content;
|
||||
|
||||
public AddStyleTagOptions withUrl(String url) {
|
||||
this.url = url;
|
||||
return this;
|
||||
}
|
||||
public AddStyleTagOptions withPath(String path) {
|
||||
this.path = path;
|
||||
return this;
|
||||
}
|
||||
public AddStyleTagOptions withContent(String content) {
|
||||
this.content = content;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class CheckOptions {
|
||||
Boolean force;
|
||||
Boolean noWaitAfter;
|
||||
Integer timeout;
|
||||
|
||||
public CheckOptions withForce(Boolean force) {
|
||||
this.force = force;
|
||||
return this;
|
||||
}
|
||||
public CheckOptions withNoWaitAfter(Boolean noWaitAfter) {
|
||||
this.noWaitAfter = noWaitAfter;
|
||||
return this;
|
||||
}
|
||||
public CheckOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class ClickOptions {
|
||||
enum Button { LEFT, MIDDLE, RIGHT}
|
||||
enum Modifier { ALT, CONTROL, META, SHIFT}
|
||||
class Position {
|
||||
public class Position {
|
||||
int x;
|
||||
int y;
|
||||
|
||||
Position() {
|
||||
}
|
||||
public ClickOptions done() {
|
||||
return ClickOptions.this;
|
||||
}
|
||||
|
||||
public Position withX(int x) {
|
||||
this.x = x;
|
||||
return this;
|
||||
}
|
||||
public Position withY(int y) {
|
||||
this.y = y;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
Button button;
|
||||
Integer clickCount;
|
||||
@@ -55,13 +118,61 @@ interface Page {
|
||||
Boolean force;
|
||||
Boolean noWaitAfter;
|
||||
Integer timeout;
|
||||
|
||||
public ClickOptions withButton(Button button) {
|
||||
this.button = button;
|
||||
return this;
|
||||
}
|
||||
public ClickOptions withClickCount(Integer clickCount) {
|
||||
this.clickCount = clickCount;
|
||||
return this;
|
||||
}
|
||||
public ClickOptions withDelay(Integer delay) {
|
||||
this.delay = delay;
|
||||
return this;
|
||||
}
|
||||
public Position setPosition() {
|
||||
this.position = new Position();
|
||||
return this.position;
|
||||
}
|
||||
public ClickOptions withModifiers(Set<Modifier> modifiers) {
|
||||
this.modifiers = modifiers;
|
||||
return this;
|
||||
}
|
||||
public ClickOptions withForce(Boolean force) {
|
||||
this.force = force;
|
||||
return this;
|
||||
}
|
||||
public ClickOptions withNoWaitAfter(Boolean noWaitAfter) {
|
||||
this.noWaitAfter = noWaitAfter;
|
||||
return this;
|
||||
}
|
||||
public ClickOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class DblclickOptions {
|
||||
enum Button { LEFT, MIDDLE, RIGHT}
|
||||
enum Modifier { ALT, CONTROL, META, SHIFT}
|
||||
class Position {
|
||||
public class Position {
|
||||
int x;
|
||||
int y;
|
||||
|
||||
Position() {
|
||||
}
|
||||
public DblclickOptions done() {
|
||||
return DblclickOptions.this;
|
||||
}
|
||||
|
||||
public Position withX(int x) {
|
||||
this.x = x;
|
||||
return this;
|
||||
}
|
||||
public Position withY(int y) {
|
||||
this.y = y;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
Button button;
|
||||
Integer delay;
|
||||
@@ -70,65 +181,223 @@ interface Page {
|
||||
Boolean force;
|
||||
Boolean noWaitAfter;
|
||||
Integer timeout;
|
||||
|
||||
public DblclickOptions withButton(Button button) {
|
||||
this.button = button;
|
||||
return this;
|
||||
}
|
||||
public DblclickOptions withDelay(Integer delay) {
|
||||
this.delay = delay;
|
||||
return this;
|
||||
}
|
||||
public Position setPosition() {
|
||||
this.position = new Position();
|
||||
return this.position;
|
||||
}
|
||||
public DblclickOptions withModifiers(Set<Modifier> modifiers) {
|
||||
this.modifiers = modifiers;
|
||||
return this;
|
||||
}
|
||||
public DblclickOptions withForce(Boolean force) {
|
||||
this.force = force;
|
||||
return this;
|
||||
}
|
||||
public DblclickOptions withNoWaitAfter(Boolean noWaitAfter) {
|
||||
this.noWaitAfter = noWaitAfter;
|
||||
return this;
|
||||
}
|
||||
public DblclickOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class DispatchEventOptions {
|
||||
Integer timeout;
|
||||
|
||||
public DispatchEventOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class EmulateMediaOptions {
|
||||
enum Media { PRINT, SCREEN}
|
||||
enum ColorScheme { DARK, LIGHT, NO_PREFERENCE}
|
||||
Media media;
|
||||
ColorScheme colorScheme;
|
||||
|
||||
public EmulateMediaOptions withMedia(Media media) {
|
||||
this.media = media;
|
||||
return this;
|
||||
}
|
||||
public EmulateMediaOptions withColorScheme(ColorScheme colorScheme) {
|
||||
this.colorScheme = colorScheme;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class FillOptions {
|
||||
Boolean noWaitAfter;
|
||||
Integer timeout;
|
||||
|
||||
public FillOptions withNoWaitAfter(Boolean noWaitAfter) {
|
||||
this.noWaitAfter = noWaitAfter;
|
||||
return this;
|
||||
}
|
||||
public FillOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class FocusOptions {
|
||||
Integer timeout;
|
||||
|
||||
public FocusOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class GetAttributeOptions {
|
||||
Integer timeout;
|
||||
|
||||
public GetAttributeOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class GoBackOptions {
|
||||
enum WaitUntil { DOMCONTENTLOADED, LOAD, NETWORKIDLE}
|
||||
Integer timeout;
|
||||
WaitUntil waitUntil;
|
||||
|
||||
public GoBackOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
public GoBackOptions withWaitUntil(WaitUntil waitUntil) {
|
||||
this.waitUntil = waitUntil;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class GoForwardOptions {
|
||||
enum WaitUntil { DOMCONTENTLOADED, LOAD, NETWORKIDLE}
|
||||
Integer timeout;
|
||||
WaitUntil waitUntil;
|
||||
|
||||
public GoForwardOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
public GoForwardOptions withWaitUntil(WaitUntil waitUntil) {
|
||||
this.waitUntil = waitUntil;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class GotoOptions {
|
||||
enum WaitUntil { DOMCONTENTLOADED, LOAD, NETWORKIDLE}
|
||||
Integer timeout;
|
||||
WaitUntil waitUntil;
|
||||
String referer;
|
||||
|
||||
public GotoOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
public GotoOptions withWaitUntil(WaitUntil waitUntil) {
|
||||
this.waitUntil = waitUntil;
|
||||
return this;
|
||||
}
|
||||
public GotoOptions withReferer(String referer) {
|
||||
this.referer = referer;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class HoverOptions {
|
||||
enum Modifier { ALT, CONTROL, META, SHIFT}
|
||||
class Position {
|
||||
public class Position {
|
||||
int x;
|
||||
int y;
|
||||
|
||||
Position() {
|
||||
}
|
||||
public HoverOptions done() {
|
||||
return HoverOptions.this;
|
||||
}
|
||||
|
||||
public Position withX(int x) {
|
||||
this.x = x;
|
||||
return this;
|
||||
}
|
||||
public Position withY(int y) {
|
||||
this.y = y;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
Position position;
|
||||
Set<Modifier> modifiers;
|
||||
Boolean force;
|
||||
Integer timeout;
|
||||
|
||||
public Position setPosition() {
|
||||
this.position = new Position();
|
||||
return this.position;
|
||||
}
|
||||
public HoverOptions withModifiers(Set<Modifier> modifiers) {
|
||||
this.modifiers = modifiers;
|
||||
return this;
|
||||
}
|
||||
public HoverOptions withForce(Boolean force) {
|
||||
this.force = force;
|
||||
return this;
|
||||
}
|
||||
public HoverOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class InnerHTMLOptions {
|
||||
Integer timeout;
|
||||
|
||||
public InnerHTMLOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class InnerTextOptions {
|
||||
Integer timeout;
|
||||
|
||||
public InnerTextOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class PdfOptions {
|
||||
class Margin {
|
||||
public class Margin {
|
||||
String top;
|
||||
String right;
|
||||
String bottom;
|
||||
String left;
|
||||
|
||||
Margin() {
|
||||
}
|
||||
public PdfOptions done() {
|
||||
return PdfOptions.this;
|
||||
}
|
||||
|
||||
public Margin withTop(String top) {
|
||||
this.top = top;
|
||||
return this;
|
||||
}
|
||||
public Margin withRight(String right) {
|
||||
this.right = right;
|
||||
return this;
|
||||
}
|
||||
public Margin withBottom(String bottom) {
|
||||
this.bottom = bottom;
|
||||
return this;
|
||||
}
|
||||
public Margin withLeft(String left) {
|
||||
this.left = left;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
String path;
|
||||
Integer scale;
|
||||
@@ -143,24 +412,122 @@ interface Page {
|
||||
String height;
|
||||
Margin margin;
|
||||
Boolean preferCSSPageSize;
|
||||
|
||||
public PdfOptions withPath(String path) {
|
||||
this.path = path;
|
||||
return this;
|
||||
}
|
||||
public PdfOptions withScale(Integer scale) {
|
||||
this.scale = scale;
|
||||
return this;
|
||||
}
|
||||
public PdfOptions withDisplayHeaderFooter(Boolean displayHeaderFooter) {
|
||||
this.displayHeaderFooter = displayHeaderFooter;
|
||||
return this;
|
||||
}
|
||||
public PdfOptions withHeaderTemplate(String headerTemplate) {
|
||||
this.headerTemplate = headerTemplate;
|
||||
return this;
|
||||
}
|
||||
public PdfOptions withFooterTemplate(String footerTemplate) {
|
||||
this.footerTemplate = footerTemplate;
|
||||
return this;
|
||||
}
|
||||
public PdfOptions withPrintBackground(Boolean printBackground) {
|
||||
this.printBackground = printBackground;
|
||||
return this;
|
||||
}
|
||||
public PdfOptions withLandscape(Boolean landscape) {
|
||||
this.landscape = landscape;
|
||||
return this;
|
||||
}
|
||||
public PdfOptions withPageRanges(String pageRanges) {
|
||||
this.pageRanges = pageRanges;
|
||||
return this;
|
||||
}
|
||||
public PdfOptions withFormat(String format) {
|
||||
this.format = format;
|
||||
return this;
|
||||
}
|
||||
public PdfOptions withWidth(String width) {
|
||||
this.width = width;
|
||||
return this;
|
||||
}
|
||||
public PdfOptions withHeight(String height) {
|
||||
this.height = height;
|
||||
return this;
|
||||
}
|
||||
public Margin setMargin() {
|
||||
this.margin = new Margin();
|
||||
return this.margin;
|
||||
}
|
||||
public PdfOptions withPreferCSSPageSize(Boolean preferCSSPageSize) {
|
||||
this.preferCSSPageSize = preferCSSPageSize;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class PressOptions {
|
||||
Integer delay;
|
||||
Boolean noWaitAfter;
|
||||
Integer timeout;
|
||||
|
||||
public PressOptions withDelay(Integer delay) {
|
||||
this.delay = delay;
|
||||
return this;
|
||||
}
|
||||
public PressOptions withNoWaitAfter(Boolean noWaitAfter) {
|
||||
this.noWaitAfter = noWaitAfter;
|
||||
return this;
|
||||
}
|
||||
public PressOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class ReloadOptions {
|
||||
enum WaitUntil { DOMCONTENTLOADED, LOAD, NETWORKIDLE}
|
||||
Integer timeout;
|
||||
WaitUntil waitUntil;
|
||||
|
||||
public ReloadOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
public ReloadOptions withWaitUntil(WaitUntil waitUntil) {
|
||||
this.waitUntil = waitUntil;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class ScreenshotOptions {
|
||||
enum Type { JPEG, PNG}
|
||||
class Clip {
|
||||
public class Clip {
|
||||
int x;
|
||||
int y;
|
||||
int width;
|
||||
int height;
|
||||
|
||||
Clip() {
|
||||
}
|
||||
public ScreenshotOptions done() {
|
||||
return ScreenshotOptions.this;
|
||||
}
|
||||
|
||||
public Clip withX(int x) {
|
||||
this.x = x;
|
||||
return this;
|
||||
}
|
||||
public Clip withY(int y) {
|
||||
this.y = y;
|
||||
return this;
|
||||
}
|
||||
public Clip withWidth(int width) {
|
||||
this.width = width;
|
||||
return this;
|
||||
}
|
||||
public Clip withHeight(int height) {
|
||||
this.height = height;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
String path;
|
||||
Type type;
|
||||
@@ -169,60 +536,202 @@ interface Page {
|
||||
Clip clip;
|
||||
Boolean omitBackground;
|
||||
Integer timeout;
|
||||
|
||||
public ScreenshotOptions withPath(String path) {
|
||||
this.path = path;
|
||||
return this;
|
||||
}
|
||||
public ScreenshotOptions withType(Type type) {
|
||||
this.type = type;
|
||||
return this;
|
||||
}
|
||||
public ScreenshotOptions withQuality(Integer quality) {
|
||||
this.quality = quality;
|
||||
return this;
|
||||
}
|
||||
public ScreenshotOptions withFullPage(Boolean fullPage) {
|
||||
this.fullPage = fullPage;
|
||||
return this;
|
||||
}
|
||||
public Clip setClip() {
|
||||
this.clip = new Clip();
|
||||
return this.clip;
|
||||
}
|
||||
public ScreenshotOptions withOmitBackground(Boolean omitBackground) {
|
||||
this.omitBackground = omitBackground;
|
||||
return this;
|
||||
}
|
||||
public ScreenshotOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class SelectOptionOptions {
|
||||
Boolean noWaitAfter;
|
||||
Integer timeout;
|
||||
|
||||
public SelectOptionOptions withNoWaitAfter(Boolean noWaitAfter) {
|
||||
this.noWaitAfter = noWaitAfter;
|
||||
return this;
|
||||
}
|
||||
public SelectOptionOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class SetContentOptions {
|
||||
enum WaitUntil { DOMCONTENTLOADED, LOAD, NETWORKIDLE}
|
||||
Integer timeout;
|
||||
WaitUntil waitUntil;
|
||||
|
||||
public SetContentOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
public SetContentOptions withWaitUntil(WaitUntil waitUntil) {
|
||||
this.waitUntil = waitUntil;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class SetInputFilesOptions {
|
||||
Boolean noWaitAfter;
|
||||
Integer timeout;
|
||||
|
||||
public SetInputFilesOptions withNoWaitAfter(Boolean noWaitAfter) {
|
||||
this.noWaitAfter = noWaitAfter;
|
||||
return this;
|
||||
}
|
||||
public SetInputFilesOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class SetViewportSizeViewportSize {
|
||||
int width;
|
||||
int height;
|
||||
|
||||
public SetViewportSizeViewportSize withWidth(int width) {
|
||||
this.width = width;
|
||||
return this;
|
||||
}
|
||||
public SetViewportSizeViewportSize withHeight(int height) {
|
||||
this.height = height;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class TextContentOptions {
|
||||
Integer timeout;
|
||||
|
||||
public TextContentOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class TypeOptions {
|
||||
Integer delay;
|
||||
Boolean noWaitAfter;
|
||||
Integer timeout;
|
||||
|
||||
public TypeOptions withDelay(Integer delay) {
|
||||
this.delay = delay;
|
||||
return this;
|
||||
}
|
||||
public TypeOptions withNoWaitAfter(Boolean noWaitAfter) {
|
||||
this.noWaitAfter = noWaitAfter;
|
||||
return this;
|
||||
}
|
||||
public TypeOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class UncheckOptions {
|
||||
Boolean force;
|
||||
Boolean noWaitAfter;
|
||||
Integer timeout;
|
||||
|
||||
public UncheckOptions withForce(Boolean force) {
|
||||
this.force = force;
|
||||
return this;
|
||||
}
|
||||
public UncheckOptions withNoWaitAfter(Boolean noWaitAfter) {
|
||||
this.noWaitAfter = noWaitAfter;
|
||||
return this;
|
||||
}
|
||||
public UncheckOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class WaitForFunctionOptions {
|
||||
double polling;
|
||||
Integer timeout;
|
||||
|
||||
public WaitForFunctionOptions withPolling(double polling) {
|
||||
this.polling = polling;
|
||||
return this;
|
||||
}
|
||||
public WaitForFunctionOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class WaitForLoadStateOptions {
|
||||
Integer timeout;
|
||||
|
||||
public WaitForLoadStateOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class WaitForNavigationOptions {
|
||||
enum WaitUntil { DOMCONTENTLOADED, LOAD, NETWORKIDLE}
|
||||
Integer timeout;
|
||||
String url;
|
||||
WaitUntil waitUntil;
|
||||
|
||||
public WaitForNavigationOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
public WaitForNavigationOptions withUrl(String url) {
|
||||
this.url = url;
|
||||
return this;
|
||||
}
|
||||
public WaitForNavigationOptions withWaitUntil(WaitUntil waitUntil) {
|
||||
this.waitUntil = waitUntil;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class WaitForRequestOptions {
|
||||
Integer timeout;
|
||||
|
||||
public WaitForRequestOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class WaitForResponseOptions {
|
||||
Integer timeout;
|
||||
|
||||
public WaitForResponseOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class WaitForSelectorOptions {
|
||||
enum State { ATTACHED, DETACHED, HIDDEN, VISIBLE}
|
||||
State state;
|
||||
Integer timeout;
|
||||
|
||||
public WaitForSelectorOptions withState(State state) {
|
||||
this.state = state;
|
||||
return this;
|
||||
}
|
||||
public WaitForSelectorOptions withTimeout(Integer timeout) {
|
||||
this.timeout = timeout;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
void close(CloseOptions options);
|
||||
ElementHandle querySelector(String selector);
|
||||
|
||||
@@ -19,7 +19,7 @@ package com.microsoft.playwright;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
interface Request {
|
||||
public interface Request {
|
||||
Object failure();
|
||||
Frame frame();
|
||||
Map<String, String> headers();
|
||||
|
||||
@@ -19,7 +19,7 @@ package com.microsoft.playwright;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
interface Response {
|
||||
public interface Response {
|
||||
byte[] body();
|
||||
Error finished();
|
||||
Frame frame();
|
||||
|
||||
@@ -19,11 +19,24 @@ package com.microsoft.playwright;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
interface Route {
|
||||
public interface Route {
|
||||
class ContinueOverrides {
|
||||
String method;
|
||||
String postData;
|
||||
Map<String, String> headers;
|
||||
|
||||
public ContinueOverrides withMethod(String method) {
|
||||
this.method = method;
|
||||
return this;
|
||||
}
|
||||
public ContinueOverrides withPostData(String postData) {
|
||||
this.postData = postData;
|
||||
return this;
|
||||
}
|
||||
public ContinueOverrides withHeaders(Map<String, String> headers) {
|
||||
this.headers = headers;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class FulfillResponse {
|
||||
Integer status;
|
||||
@@ -31,6 +44,27 @@ interface Route {
|
||||
String contentType;
|
||||
String body;
|
||||
String path;
|
||||
|
||||
public FulfillResponse withStatus(Integer status) {
|
||||
this.status = status;
|
||||
return this;
|
||||
}
|
||||
public FulfillResponse withHeaders(Map<String, String> headers) {
|
||||
this.headers = headers;
|
||||
return this;
|
||||
}
|
||||
public FulfillResponse withContentType(String contentType) {
|
||||
this.contentType = contentType;
|
||||
return this;
|
||||
}
|
||||
public FulfillResponse withBody(String body) {
|
||||
this.body = body;
|
||||
return this;
|
||||
}
|
||||
public FulfillResponse withPath(String path) {
|
||||
this.path = path;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
void abort(String errorCode);
|
||||
void continue_(ContinueOverrides overrides);
|
||||
|
||||
@@ -19,9 +19,14 @@ package com.microsoft.playwright;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
interface Selectors {
|
||||
public interface Selectors {
|
||||
class RegisterOptions {
|
||||
Boolean contentScript;
|
||||
|
||||
public RegisterOptions withContentScript(Boolean contentScript) {
|
||||
this.contentScript = contentScript;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
void register(String name, String script, RegisterOptions options);
|
||||
}
|
||||
|
||||
@@ -19,6 +19,6 @@ package com.microsoft.playwright;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
interface TimeoutError {
|
||||
public interface TimeoutError {
|
||||
}
|
||||
|
||||
|
||||
@@ -19,21 +19,70 @@ package com.microsoft.playwright;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
interface WebKitBrowser {
|
||||
public interface WebKitBrowser {
|
||||
class NewContextOptions {
|
||||
enum ColorScheme { DARK, LIGHT, NO_PREFERENCE}
|
||||
class Geolocation {
|
||||
public class Geolocation {
|
||||
double latitude;
|
||||
double longitude;
|
||||
double accuracy;
|
||||
|
||||
Geolocation() {
|
||||
}
|
||||
public NewContextOptions done() {
|
||||
return NewContextOptions.this;
|
||||
}
|
||||
|
||||
public Geolocation withLatitude(double latitude) {
|
||||
this.latitude = latitude;
|
||||
return this;
|
||||
}
|
||||
public Geolocation withLongitude(double longitude) {
|
||||
this.longitude = longitude;
|
||||
return this;
|
||||
}
|
||||
public Geolocation withAccuracy(double accuracy) {
|
||||
this.accuracy = accuracy;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class HttpCredentials {
|
||||
public class HttpCredentials {
|
||||
String username;
|
||||
String password;
|
||||
|
||||
HttpCredentials() {
|
||||
}
|
||||
public NewContextOptions done() {
|
||||
return NewContextOptions.this;
|
||||
}
|
||||
|
||||
public HttpCredentials withUsername(String username) {
|
||||
this.username = username;
|
||||
return this;
|
||||
}
|
||||
public HttpCredentials withPassword(String password) {
|
||||
this.password = password;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class VideoSize {
|
||||
public class VideoSize {
|
||||
int width;
|
||||
int height;
|
||||
|
||||
VideoSize() {
|
||||
}
|
||||
public NewContextOptions done() {
|
||||
return NewContextOptions.this;
|
||||
}
|
||||
|
||||
public VideoSize withWidth(int width) {
|
||||
this.width = width;
|
||||
return this;
|
||||
}
|
||||
public VideoSize withHeight(int height) {
|
||||
this.height = height;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
Boolean acceptDownloads;
|
||||
Boolean ignoreHTTPSErrors;
|
||||
@@ -57,21 +106,159 @@ interface WebKitBrowser {
|
||||
Boolean recordVideos;
|
||||
VideoSize videoSize;
|
||||
Boolean recordTrace;
|
||||
|
||||
public NewContextOptions withAcceptDownloads(Boolean acceptDownloads) {
|
||||
this.acceptDownloads = acceptDownloads;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withIgnoreHTTPSErrors(Boolean ignoreHTTPSErrors) {
|
||||
this.ignoreHTTPSErrors = ignoreHTTPSErrors;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withBypassCSP(Boolean bypassCSP) {
|
||||
this.bypassCSP = bypassCSP;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withViewport(Object viewport) {
|
||||
this.viewport = viewport;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withUserAgent(String userAgent) {
|
||||
this.userAgent = userAgent;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withDeviceScaleFactor(Integer deviceScaleFactor) {
|
||||
this.deviceScaleFactor = deviceScaleFactor;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withIsMobile(Boolean isMobile) {
|
||||
this.isMobile = isMobile;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withHasTouch(Boolean hasTouch) {
|
||||
this.hasTouch = hasTouch;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withJavaScriptEnabled(Boolean javaScriptEnabled) {
|
||||
this.javaScriptEnabled = javaScriptEnabled;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withTimezoneId(String timezoneId) {
|
||||
this.timezoneId = timezoneId;
|
||||
return this;
|
||||
}
|
||||
public Geolocation setGeolocation() {
|
||||
this.geolocation = new Geolocation();
|
||||
return this.geolocation;
|
||||
}
|
||||
public NewContextOptions withLocale(String locale) {
|
||||
this.locale = locale;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withPermissions(List<String> permissions) {
|
||||
this.permissions = permissions;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withExtraHTTPHeaders(Map<String, String> extraHTTPHeaders) {
|
||||
this.extraHTTPHeaders = extraHTTPHeaders;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withOffline(Boolean offline) {
|
||||
this.offline = offline;
|
||||
return this;
|
||||
}
|
||||
public HttpCredentials setHttpCredentials() {
|
||||
this.httpCredentials = new HttpCredentials();
|
||||
return this.httpCredentials;
|
||||
}
|
||||
public NewContextOptions withColorScheme(ColorScheme colorScheme) {
|
||||
this.colorScheme = colorScheme;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withLogger(Logger logger) {
|
||||
this.logger = logger;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withRelativeArtifactsPath(String relativeArtifactsPath) {
|
||||
this.relativeArtifactsPath = relativeArtifactsPath;
|
||||
return this;
|
||||
}
|
||||
public NewContextOptions withRecordVideos(Boolean recordVideos) {
|
||||
this.recordVideos = recordVideos;
|
||||
return this;
|
||||
}
|
||||
public VideoSize setVideoSize() {
|
||||
this.videoSize = new VideoSize();
|
||||
return this.videoSize;
|
||||
}
|
||||
public NewContextOptions withRecordTrace(Boolean recordTrace) {
|
||||
this.recordTrace = recordTrace;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class NewPageOptions {
|
||||
enum ColorScheme { DARK, LIGHT, NO_PREFERENCE}
|
||||
class Geolocation {
|
||||
public class Geolocation {
|
||||
double latitude;
|
||||
double longitude;
|
||||
double accuracy;
|
||||
|
||||
Geolocation() {
|
||||
}
|
||||
public NewPageOptions done() {
|
||||
return NewPageOptions.this;
|
||||
}
|
||||
|
||||
public Geolocation withLatitude(double latitude) {
|
||||
this.latitude = latitude;
|
||||
return this;
|
||||
}
|
||||
public Geolocation withLongitude(double longitude) {
|
||||
this.longitude = longitude;
|
||||
return this;
|
||||
}
|
||||
public Geolocation withAccuracy(double accuracy) {
|
||||
this.accuracy = accuracy;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class HttpCredentials {
|
||||
public class HttpCredentials {
|
||||
String username;
|
||||
String password;
|
||||
|
||||
HttpCredentials() {
|
||||
}
|
||||
public NewPageOptions done() {
|
||||
return NewPageOptions.this;
|
||||
}
|
||||
|
||||
public HttpCredentials withUsername(String username) {
|
||||
this.username = username;
|
||||
return this;
|
||||
}
|
||||
public HttpCredentials withPassword(String password) {
|
||||
this.password = password;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
class VideoSize {
|
||||
public class VideoSize {
|
||||
int width;
|
||||
int height;
|
||||
|
||||
VideoSize() {
|
||||
}
|
||||
public NewPageOptions done() {
|
||||
return NewPageOptions.this;
|
||||
}
|
||||
|
||||
public VideoSize withWidth(int width) {
|
||||
this.width = width;
|
||||
return this;
|
||||
}
|
||||
public VideoSize withHeight(int height) {
|
||||
this.height = height;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
Boolean acceptDownloads;
|
||||
Boolean ignoreHTTPSErrors;
|
||||
@@ -95,6 +282,95 @@ interface WebKitBrowser {
|
||||
Boolean recordVideos;
|
||||
VideoSize videoSize;
|
||||
Boolean recordTrace;
|
||||
|
||||
public NewPageOptions withAcceptDownloads(Boolean acceptDownloads) {
|
||||
this.acceptDownloads = acceptDownloads;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withIgnoreHTTPSErrors(Boolean ignoreHTTPSErrors) {
|
||||
this.ignoreHTTPSErrors = ignoreHTTPSErrors;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withBypassCSP(Boolean bypassCSP) {
|
||||
this.bypassCSP = bypassCSP;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withViewport(Object viewport) {
|
||||
this.viewport = viewport;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withUserAgent(String userAgent) {
|
||||
this.userAgent = userAgent;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withDeviceScaleFactor(Integer deviceScaleFactor) {
|
||||
this.deviceScaleFactor = deviceScaleFactor;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withIsMobile(Boolean isMobile) {
|
||||
this.isMobile = isMobile;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withHasTouch(Boolean hasTouch) {
|
||||
this.hasTouch = hasTouch;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withJavaScriptEnabled(Boolean javaScriptEnabled) {
|
||||
this.javaScriptEnabled = javaScriptEnabled;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withTimezoneId(String timezoneId) {
|
||||
this.timezoneId = timezoneId;
|
||||
return this;
|
||||
}
|
||||
public Geolocation setGeolocation() {
|
||||
this.geolocation = new Geolocation();
|
||||
return this.geolocation;
|
||||
}
|
||||
public NewPageOptions withLocale(String locale) {
|
||||
this.locale = locale;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withPermissions(List<String> permissions) {
|
||||
this.permissions = permissions;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withExtraHTTPHeaders(Map<String, String> extraHTTPHeaders) {
|
||||
this.extraHTTPHeaders = extraHTTPHeaders;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withOffline(Boolean offline) {
|
||||
this.offline = offline;
|
||||
return this;
|
||||
}
|
||||
public HttpCredentials setHttpCredentials() {
|
||||
this.httpCredentials = new HttpCredentials();
|
||||
return this.httpCredentials;
|
||||
}
|
||||
public NewPageOptions withColorScheme(ColorScheme colorScheme) {
|
||||
this.colorScheme = colorScheme;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withLogger(Logger logger) {
|
||||
this.logger = logger;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withRelativeArtifactsPath(String relativeArtifactsPath) {
|
||||
this.relativeArtifactsPath = relativeArtifactsPath;
|
||||
return this;
|
||||
}
|
||||
public NewPageOptions withRecordVideos(Boolean recordVideos) {
|
||||
this.recordVideos = recordVideos;
|
||||
return this;
|
||||
}
|
||||
public VideoSize setVideoSize() {
|
||||
this.videoSize = new VideoSize();
|
||||
return this.videoSize;
|
||||
}
|
||||
public NewPageOptions withRecordTrace(Boolean recordTrace) {
|
||||
this.recordTrace = recordTrace;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
void close();
|
||||
List<BrowserContext> contexts();
|
||||
|
||||
@@ -19,7 +19,7 @@ package com.microsoft.playwright;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
interface Worker {
|
||||
public interface Worker {
|
||||
Object evaluate(String pageFunction, Object arg);
|
||||
JSHandle evaluateHandle(String pageFunction, Object arg);
|
||||
String url();
|
||||
|
||||
Reference in New Issue
Block a user