pyppeteer同时运行多个任务-gather的用法

94 阅读1分钟

import asyncio
import time

import pyppeteer


async def open(url=""):
    browser = await pyppeteer.launch({
        "executablePath": "C:\Program Files\Google\Chrome\Application\chrome.exe",
        "headless": False
    })
    page = await browser.newPage()
    await page.setViewport({"width": 1920, "height": 1080})
    await page.goto(url)
    await asyncio.sleep(3)
    await browser.close()


async def main():
    tasks = [open(f"https://{url}") for url in ["baidu.com", "163.com","sohu.com"]]
    await asyncio.gather(*tasks)


if __name__ == '__main__':
    start = time.time()
    asyncio.run(main())
    end = time.time()
    print(f"{(end - start)}s passed.")