PlayWright(三)- 同步和异步运行

1、异步概念

 
上文中,我们使用同步运行方式操作了playwright,那同步和异步究竟什么意思呢?
 
同步:发送一个请求,等待返回,然后再发送下一个请求
异步:发送一个请求,不等待返回,随时可以再发送下一个请求
 
通俗来说:同步只能按执行顺序执行,异步可以不按顺序执行
 
在讲异步之前,我们再来讲另一种运行方式,之前我们使用start,stop来运行,还有一种with方式
 

2、with语句是什么?

 
官方解释很复杂,我们不需要看,只需知道有些任务,我们需要事先设置,事后清理,这种场景我们可以使用with语句,可以让代码更简练,并且语句出现异常时,清理工作也更简单
 
看一个简单例子:
 
file = open('1.txt')    # 打开1.txt的文件
data = file.read()      # 读取打开的文件到data中
file.close()            # 关闭文件

  

这是一个处理的文件的简单操作,这个操作可能会有两个问题:
1、忘记关闭文件
2、语句有异常,未做处理
 
我们用with语句
 
with open('1.txt') as file:
    data = file.read()
 
代码简洁还会自动关闭
 

3、with启动playwright

with sync_playwright() as playwright:  # 省略了start启动
    browser = playwright.chromium.launch(headless=False, slow_mo=5000)  # 设置了每步等待时间为3s
    page = browser.new_page()  # 打开一个页面
    page.goto('https://www.baidu.com/')  # 打开百度地址
    browser.close()  # 省略了关闭playwright对象    

  

 
在看下之前用start和stop的启动方式
from playwright.sync_api import sync_playwright         # 先导包
playwright = sync_playwright().start()                  # 创建playwright对象
browser = playwright.chromium.launch(headless=False)    # 启动谷歌浏览器赋值给对象
page = browser.new_page()              # 打开一个页面
page.goto('https://www.baidu.com/')    # 打开百度地址
browser.close()                        # 关闭浏览器对象
playwright.stop()                      # 关闭playwright对象释放资源

 

清晰明了,下节我们看异步运行
 
posted @ 2023-05-29 16:37  似小陈ya  阅读(1627)  评论(0编辑  收藏  举报