import asyncio
from pyppeteer import launch
from django.http import JsonResponse
def screen_size():
"""使用tkinter获取屏幕大小"""
import tkinter
tk = tkinter.Tk()
width = tk.winfo_screenwidth()
height = tk.winfo_screenheight()
tk.quit()
return width, height
async def main():
try:
browser = await launch({
'handleSIGINT': False,
'handleSIGTERM': False,
'handleSIGHUP': False,
})
page = await browser.newPage()
width, height = screen_size()
await page.setViewport({'width': width, 'height': height})
await page.goto('https://www.baidu.com/', {'waitUntil': 'networkidle0'})
await page.screenshot({'path': 'test.png'})
await browser.close()
return True
except Exception as e:
return False
def screen_shot(request):
try:
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
result = loop.run_until_complete(main())
loop.close()
if result:
return JsonResponse(
{"result": True}}
)
else:
return JsonResponse(
{"result": True, "message": "截图失败"}
)
except Exception as e:
return JsonResponse(
{"result": False, "message": str(e)}
)
python 使用 pyppeter截取图片
最新推荐文章于 2024-04-03 10:35:27 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)