diff --git a/README.md b/README.md index 58e3daa7..b1a1104d 100644 --- a/README.md +++ b/README.md @@ -72,9 +72,9 @@ public class PageScreenshot { playwright.firefox() ); for (BrowserType browserType : browserTypes) { - try (Browser browser = browserType.launch(); - BrowserContext context = browser.newContext(new Browser.NewContextOptions().withViewport(800, 600)); - Page page = context.newPage()) { + try (Browser browser = browserType.launch()) { + BrowserContext context = browser.newContext(); + Page page = context.newPage(); page.navigate("http://whatsmyuseragent.org/"); page.screenshot(new Page.ScreenshotOptions().withPath(Paths.get("screenshot-" + browserType.name() + ".png"))); } @@ -89,20 +89,27 @@ public class PageScreenshot { This snippet emulates Mobile Chromium on a device at a given geolocation, navigates to openstreetmap.org, performs action and takes a screenshot. ```java +import com.microsoft.playwright.options.*; import com.microsoft.playwright.*; + import java.nio.file.Paths; -import java.util.Arrays; + +import static java.util.Arrays.asList; public class MobileAndGeolocation { public static void main(String[] args) { - try (Playwright playwright = Playwright.create(); - Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions().withHeadless(false)); - BrowserContext context = browser.newContext(new Browser.NewContextOptions() - .withDevice(playwright.devices().get("Pixel 2")) - .withLocale("en-US") - .withGeolocation(new Geolocation(41.889938, 12.492507)) - .withPermissions(Arrays.asList("geolocation"))); - Page page = context.newPage()) { + try (Playwright playwright = Playwright.create()) { + Browser browser = playwright.chromium().launch(); + BrowserContext context = browser.newContext(new Browser.NewContextOptions() + .withUserAgent("Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36") + .withViewportSize(411, 731) + .withDeviceScaleFactor(2.625) + .withIsMobile(true) + .withHasTouch(true) + .withLocale("en-US") + .withGeolocation(41.889938, 12.492507) + .withPermissions(asList("geolocation"))); + Page page = context.newPage(); page.navigate("https://www.openstreetmap.org/"); page.click("a[data-original-title=\"Show My Location\"]"); page.screenshot(new Page.ScreenshotOptions().withPath(Paths.get("colosseum-pixel2.png"))); @@ -120,18 +127,18 @@ import com.microsoft.playwright.*; public class EvaluateInBrowserContext { public static void main(String[] args) { - try (Playwright playwright = Playwright.create(); - Browser browser = playwright.firefox().launch(new BrowserType.LaunchOptions().withHeadless(false)); - BrowserContext context = browser.newContext(); - Page page = context.newPage()) { + try (Playwright playwright = Playwright.create()) { + Browser browser = playwright.firefox().launch(); + BrowserContext context = browser.newContext(); + Page page = context.newPage(); page.navigate("https://www.example.com/"); Object dimensions = page.evaluate("() => {\n" + - " return {\n" + - " width: document.documentElement.clientWidth,\n" + - " height: document.documentElement.clientHeight,\n" + - " deviceScaleFactor: window.devicePixelRatio\n" + - " }\n" + - "}"); + " return {\n" + + " width: document.documentElement.clientWidth,\n" + + " height: document.documentElement.clientHeight,\n" + + " deviceScaleFactor: window.devicePixelRatio\n" + + " }\n" + + "}"); System.out.println(dimensions); } } @@ -147,13 +154,13 @@ import com.microsoft.playwright.*; public class InterceptNetworkRequests { public static void main(String[] args) { - try (Playwright playwright = Playwright.create(); - Browser browser = playwright.webkit().launch(); - BrowserContext context = browser.newContext(); - Page page = context.newPage()) { + try (Playwright playwright = Playwright.create()) { + Browser browser = playwright.webkit().launch(); + BrowserContext context = browser.newContext(); + Page page = context.newPage(); page.route("**", route -> { System.out.println(route.request().url()); - route.continue_(); + route.resume(); }); page.navigate("http://todomvc.com"); } diff --git a/examples/src/main/java/org/example/EvaluateInBrowserContext.java b/examples/src/main/java/org/example/EvaluateInBrowserContext.java index 1d62d713..7b298501 100644 --- a/examples/src/main/java/org/example/EvaluateInBrowserContext.java +++ b/examples/src/main/java/org/example/EvaluateInBrowserContext.java @@ -20,10 +20,10 @@ import com.microsoft.playwright.*; public class EvaluateInBrowserContext { public static void main(String[] args) { - try (Playwright playwright = Playwright.create(); - Browser browser = playwright.firefox().launch(); - BrowserContext context = browser.newContext(); - Page page = context.newPage()) { + try (Playwright playwright = Playwright.create()) { + Browser browser = playwright.firefox().launch(); + BrowserContext context = browser.newContext(); + Page page = context.newPage(); page.navigate("https://www.example.com/"); Object dimensions = page.evaluate("() => {\n" + " return {\n" + diff --git a/examples/src/main/java/org/example/InterceptNetworkRequests.java b/examples/src/main/java/org/example/InterceptNetworkRequests.java index c2a9d441..6143d572 100644 --- a/examples/src/main/java/org/example/InterceptNetworkRequests.java +++ b/examples/src/main/java/org/example/InterceptNetworkRequests.java @@ -20,10 +20,10 @@ import com.microsoft.playwright.*; public class InterceptNetworkRequests { public static void main(String[] args) { - try (Playwright playwright = Playwright.create(); - Browser browser = playwright.webkit().launch(); - BrowserContext context = browser.newContext(); - Page page = context.newPage()) { + try (Playwright playwright = Playwright.create()) { + Browser browser = playwright.webkit().launch(); + BrowserContext context = browser.newContext(); + Page page = context.newPage(); page.route("**", route -> { System.out.println(route.request().url()); route.resume(); diff --git a/examples/src/main/java/org/example/MobileAndGeolocation.java b/examples/src/main/java/org/example/MobileAndGeolocation.java index 4df072dc..cb760ece 100644 --- a/examples/src/main/java/org/example/MobileAndGeolocation.java +++ b/examples/src/main/java/org/example/MobileAndGeolocation.java @@ -25,14 +25,18 @@ import static java.util.Arrays.asList; public class MobileAndGeolocation { public static void main(String[] args) { - try (Playwright playwright = Playwright.create(); - Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions().withHeadless(false)); - BrowserContext context = browser.newContext(new Browser.NewContextOptions() - .withDevice(playwright.devices().get("Pixel 2")) - .withLocale("en-US") - .withGeolocation(new Geolocation(41.889938, 12.492507)) - .withPermissions(asList("geolocation"))); - Page page = context.newPage()) { + try (Playwright playwright = Playwright.create()) { + Browser browser = playwright.chromium().launch(); + BrowserContext context = browser.newContext(new Browser.NewContextOptions() + .withUserAgent("Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36") + .withViewportSize(411, 731) + .withDeviceScaleFactor(2.625) + .withIsMobile(true) + .withHasTouch(true) + .withLocale("en-US") + .withGeolocation(41.889938, 12.492507) + .withPermissions(asList("geolocation"))); + Page page = context.newPage(); page.navigate("https://www.openstreetmap.org/"); page.click("a[data-original-title=\"Show My Location\"]"); page.screenshot(new Page.ScreenshotOptions().withPath(Paths.get("colosseum-pixel2.png"))); diff --git a/examples/src/main/java/org/example/PageScreenshot.java b/examples/src/main/java/org/example/PageScreenshot.java index bf230afe..960e62d2 100644 --- a/examples/src/main/java/org/example/PageScreenshot.java +++ b/examples/src/main/java/org/example/PageScreenshot.java @@ -31,9 +31,9 @@ public class PageScreenshot { playwright.firefox() ); for (BrowserType browserType : browserTypes) { - try (Browser browser = browserType.launch(); - BrowserContext context = browser.newContext(new Browser.NewContextOptions().withViewport(800, 600)); - Page page = context.newPage()) { + try (Browser browser = browserType.launch()) { + BrowserContext context = browser.newContext(); + Page page = context.newPage(); page.navigate("http://whatsmyuseragent.org/"); page.screenshot(new Page.ScreenshotOptions().withPath(Paths.get("screenshot-" + browserType.name() + ".png"))); }