PlayWright(四)- 深入异步

我们来看下异步运行 PlayWright
 

1、异步的概念

异步举例来讲下:
 
小明在家需要完成如下事情:
  1. 电饭锅煮饭大约30分钟
  2. 洗衣机洗衣服大约40分钟
  3. 写作业大约50分钟
在同步情况下:小明需要电饭锅处等待30分钟、洗衣机处等待40分钟、写作业50分钟,总计花费时间120分钟。 在异步情况下:小明需要电饭锅处理并启动花费10分钟、洗衣机处理并启动花费10分钟,写作业花费50分钟,总计花费时间70分钟。
 
同步需要按照顺序执行,等结束之后再执行下一个
异步可以上件事没结束就处理另一件事
 

2、asyncio异步协程

asyncio是python用来处理并发的一个包,我们的异步运行需要这个包
先导入
import asynico

 

并且在python3.5后我们都用async/await来实现协程
异步函数

 

async def haha():  # async前缀异步函数
    return 1

 

 
我们直接调用异步函数haha()会报错
 
我们可以使用异步调用
import asyncio

async def haha():  # async前缀异步函数
    return 1
asyncio.run(haha())

 

使用异步调用就不会报错了
 
那await怎么使用呢
 
可以在操作前放入前缀 await,意思可以挂起自身的协程,然后等待这步操作完成,然后接着运行
 

3、异步运行playwright

import asyncio
from playwright.async_api import async_playwright


async def main():
    async with async_playwright() as p:
        browser = await p.chromium.launch()
        page = await browser.new_page()
        await page.goto("https://www.baidu.com/")
        print(await page.title())
        await browser.close()

# 调用函数
asyncio.run(main())

  

posted @ 2023-05-30 20:08  似小陈ya  阅读(1312)  评论(0编辑  收藏  举报