zwxi преди 10 месеца
родител
ревизия
2a57706973
променени са 1 файла, в които са добавени 15 реда и са изтрити 14 реда
  1. 15 14
      services/smart_report.go

+ 15 - 14
services/smart_report.go

@@ -211,35 +211,36 @@ func ReportToJpeg(reportUrl, filePath string) (err error) {
 import asyncio
 from pyppeteer import launch, errors
 
-@asyncio.coroutine
-def main():
+async def main():
     try:
         # 启动浏览器
-        browser = yield from launch({
+        browser = await launch({
             'executablePath': '%s',
             'headless': True,
             'args': ['--disable-infobars', '--no-sandbox']
         })
         
         # 新建页面
-        page = yield from browser.newPage()
+        page = await browser.newPage()
         
         # 设置视口大小
-        yield from page.setViewport({
+        await page.setViewport({
             'width': 1920,
             'height': 1080
         })
         
         # 导航到页面
-        yield from page.goto('%s', {
+        await page.goto('%s', {
             'waitUntil': 'networkidle0',
             'timeout': 1000000  # 设置超时时间为 100 秒
-        })        
-		yield from page.screenshot({
-			'path': "%s",
-			'type': "jpeg",
-			'fullPage': True,
-    	})
+        })
+        
+        # 截取全页面的屏幕截图
+        await page.screenshot({
+            'path': "%s",
+            'type': "jpeg",
+            'fullPage': True,
+        })
         
     except errors.BrowserError as e:
         print('Browser closed unexpectedly:', e)
@@ -247,8 +248,8 @@ def main():
         print('An error occurred:', e)
     finally:
         # 确保浏览器关闭
-        if 'browser' in locals():
-            yield from browser.close()
+        if browser is not None:
+            await browser.close()
 
 # 获取当前事件循环
 loop = asyncio.get_event_loop()