Пример #1
0
 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
Пример #2
0
 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
Пример #3
0
 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
Пример #4
0
 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)