前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PlayWright(三)- 同步和异步运行

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

作者头像
似小陈吖
发布2023-10-17 09:57:39
4960
发布2023-10-17 09:57:39
举报
文章被收录于专栏:测试那些事

1、异步概念

上文中,我们使用同步运行方式操作了playwright,那同步和异步究竟什么意思呢?

同步:发送一个请求,等待返回,然后再发送下一个请求

异步:发送一个请求,不等待返回,随时可以再发送下一个请求

通俗来说:同步只能按执行顺序执行,异步可以不按顺序执行

在讲异步之前,我们再来讲另一种运行方式,之前我们使用start,stop来运行,还有一种with方式

2、with语句是什么?

官方解释很复杂,我们不需要看,只需知道有些任务,我们需要事先设置,事后清理,这种场景我们可以使用with语句,可以让代码更简练,并且语句出现异常时,清理工作也更简单

看一个简单例子:

代码语言:javascript
复制
file = open('1.txt')    # 打开1.txt的文件
data = file.read()      # 读取打开的文件到data中
file.close()            # 关闭文件

这是一个处理的文件的简单操作,这个操作可能会有两个问题:

1、忘记关闭文件

2、语句有异常,未做处理

我们用with语句

代码语言:javascript
复制
with open('1.txt') as file:
    data = file.read()

代码简洁还会自动关闭

3、with启动playwright

代码语言:javascript
复制
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的启动方式

代码语言:javascript
复制
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对象释放资源

清晰明了,下节我们看异步运行

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-05-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、异步概念
  • 2、with语句是什么?
  • 3、with启动playwright
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档