PlayWright(三)- 同步和异步运行
1、异步概念
上文中,我们使用同步运行方式操作了playwright,那同步和异步究竟什么意思呢?
同步:发送一个请求,等待返回,然后再发送下一个请求
异步:发送一个请求,不等待返回,随时可以再发送下一个请求
通俗来说:同步只能按执行顺序执行,异步可以不按顺序执行
在讲异步之前,我们再来讲另一种运行方式,之前我们使用start,stop来运行,还有一种with方式
2、with语句是什么?
官方解释很复杂,我们不需要看,只需知道有些任务,我们需要事先设置,事后清理,这种场景我们可以使用with语句,可以让代码更简练,并且语句出现异常时,清理工作也更简单
看一个简单例子:
1 2 3 | file = open ( '1.txt' ) # 打开1.txt的文件 data = file .read() # 读取打开的文件到data中 file .close() # 关闭文件 |
这是一个处理的文件的简单操作,这个操作可能会有两个问题:
1、忘记关闭文件
2、语句有异常,未做处理
我们用with语句
1 2 | with open ( '1.txt' ) as file : data = file .read() |
代码简洁还会自动关闭
3、with启动playwright
1 2 3 4 5 | 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的启动方式
1 2 3 4 5 6 7 | 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对象释放资源 |
清晰明了,下节我们看异步运行
分类:
playwright自动化
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?