|
@@ -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()
|