Esempio n. 1
0
 async def render(self):
     if self.height:
         clip = page.Viewport(x=0,
                              y=0,
                              width=self.width,
                              height=self.height,
                              scale=1)
     elif self.region:
         left, top, right, bottom = self.region
         clip = page.Viewport(x=left,
                              y=top,
                              width=right - left,
                              height=bottom - top,
                              scale=1)
     else:
         clip = page.Viewport(
             x=0,
             y=0,
             width=self.tab.viewport.width,
             height=self.tab.viewport.height,
             scale=1,
         )
     self.logger.debug("image render: output size=%s, viewport=%s" % (
         '{}x{}'.format(clip.width, clip.height),
         '{}x{}, {}x{}'.format(clip.x, clip.y, clip.x + clip.width,
                               clip.y + clip.height),
     ))
     res = await self.tab.send_command(
         page.Page.captureScreenshot(
             format=self.image_format,
             clip=clip if self.region or self.height else None,
         ))
     return res['ack']['result']['data']
Esempio n. 2
0
 def __init__(
     self,
     viewport: Union['Page.Viewport', dict],
 ):
     if isinstance(viewport, dict):
         viewport = Page.Viewport(**viewport)
     self.viewport = viewport