I want to generate a pdf using the playwright java, the problem is the page I want to generate pdf is not directly available on the main page or landing page after login. So I tried to log in one tab and load the URL which I wanted to generate the pdf of in another tab. But the page or browser doesn't wait for the entire process. It closes before I generate the pdf.
Browser browser = playwright.chromium().launch(new
BrowserType.LaunchOptions().setHeadless(false));
BrowserContext userContext = browser.newContext();
Page loginPage = userContext.newPage();
Page report= userContext.newPage();
loginPage.navigate("http://xxx/login");
loginPage.getByPlaceholder("Enter your email").click();
loginPage.getByPlaceholder("Enter your email")
.fill("***************");
loginPage.getByPlaceholder("Enter your email")
.press("Tab");
loginPage.getByPlaceholder("Enter your password")
.fill("**");
loginPage.getByRole(AriaRole.BUTTON,new com.microsoft.playwright.Page.GetByRoleOptions().setName("logIn"))
.click();
loginPage.waitForRequestFinished(() ->{
report.navigate("http://*** report/");
report.pdf(new Page.PdfOptions().setDisplayHeaderFooter(true)
.setPrintBackground(true).setPath(Paths.get("reportgenerate.pdf")));
});
}