I want to download some file for example sitemap.xml.gz.
I want to do it only with playwright 1.22.
I tried to do it with chromium browser, but it fails.
Also it doesn't work with webkit. With webkit it opens all file content on the page and gives me timeout.
It only works with firefox.
But I want to know that is wrong with others browsers? Maybe it is some bug in playwright.
Has anyone been able to download directly a file with playwright?
public class PwDownload {
public static void main(String[] args) {
try (Playwright playwright = Playwright.create()) {
final BrowserType chromium = playwright.chromium();
final Browser browser = chromium.launch(new BrowserType.LaunchOptions().setHeadless(false));
Page page = browser.newPage();
Download download = page.waitForDownload(() -> {
page.navigate("https://www.fnac.es/sitemap-top-post.xml.gz");
});
System.out.println(download.path());
browser.close();
}
}
}
Error trace with chromium:
navigating to "https://www.fnac.es/sitemap-top-post.xml.gz", waiting until "load"
============================================================
at FrameSession._navigate (/private/var/folders/1n/tnrrsqrs1_7f_k2x84xql3pr0000gn/T/playwright-java-12123589937209992525/package/lib/server/chromium/crPage.js:636:35)
at runNextTicks (node:internal/process/task_queues:61:5)
at processImmediate (node:internal/timers:437:9)
at async /private/var/folders/1n/tnrrsqrs1_7f_k2x84xql3pr0000gn/T/playwright-java-12123589937209992525/package/lib/server/frames.js:648:30
at async ProgressController.run (/private/var/folders/1n/tnrrsqrs1_7f_k2x84xql3pr0000gn/T/playwright-java-12123589937209992525/package/lib/server/progress.js:101:22)
at async FrameDispatcher.goto (/private/var/folders/1n/tnrrsqrs1_7f_k2x84xql3pr0000gn/T/playwright-java-12123589937209992525/package/lib/server/dispatchers/frameDispatcher.js:86:59)
at async DispatcherConnection.dispatch (/private/var/folders/1n/tnrrsqrs1_7f_k2x84xql3pr0000gn/T/playwright-java-12123589937209992525/package/lib/server/dispatchers/dispatcher.js:352:22)
}
at com.microsoft.playwright.impl.Connection.dispatch(Connection.java:183)
at com.microsoft.playwright.impl.Connection.processOneMessage(Connection.java:163)
at com.microsoft.playwright.impl.ChannelOwner.runUntil(ChannelOwner.java:101)
... 19 more