async def pdf( self, scale: float = None, displayHeaderFooter: bool = None, headerTemplate: str = None, footerTemplate: str = None, printBackground: bool = None, landscape: bool = None, pageRanges: str = None, format: str = None, width: Union[str, float] = None, height: Union[str, float] = None, preferCSSPageSize: bool = None, margin: PdfMargins = None, path: Union[str, Path] = None, ) -> bytes: params = locals_to_params(locals()) if "path" in params: del params["path"] encoded_binary = await self._channel.send("pdf", params) decoded_binary = base64.b64decode(encoded_binary) if path: make_dirs_for_file(path) with open(path, "wb") as fd: fd.write(decoded_binary) return decoded_binary
async def screenshot( self, timeout: float = None, type: Literal["jpeg", "png"] = None, path: Union[str, Path] = None, quality: int = None, omitBackground: bool = None, fullPage: bool = None, clip: FloatRect = None, animations: Literal["allow", "disabled"] = None, caret: Literal["hide", "initial"] = None, scale: Literal["css", "device"] = None, mask: List["Locator"] = None, ) -> bytes: params = locals_to_params(locals()) if "path" in params: del params["path"] if "mask" in params: params["mask"] = list( map( lambda locator: ({ "frame": locator._frame._channel, "selector": locator._selector, }), params["mask"], )) encoded_binary = await self._channel.send("screenshot", params) decoded_binary = base64.b64decode(encoded_binary) if path: make_dirs_for_file(path) await async_writefile(path, decoded_binary) return decoded_binary
async def screenshot( self, timeout: float = None, type: Literal["jpeg", "png"] = None, path: Union[str, Path] = None, quality: int = None, omitBackground: bool = None, ) -> bytes: params = locals_to_params(locals()) if "path" in params: del params["path"] encoded_binary = await self._channel.send("screenshot", params) decoded_binary = base64.b64decode(encoded_binary) if path: make_dirs_for_file(path) await async_writefile(path, decoded_binary) return decoded_binary
async def save_as(self, path: Union[str, Path]) -> None: stream = cast(Stream, from_channel(await self._channel.send("saveAsStream"))) make_dirs_for_file(path) await stream.save_as(path)