为什么选择playwright自动化

官方文档

Getting started | Playwrighticon-default.png?t=M666https://playwright.dev/docs/intro

playwright诞生

        微软出品,用户易用性

        puppeteer 前身,改造了后诞生的playwright

playwright优点

  • 启动和执行速度比selenium快,没有中间webdriver
  • 无需下载浏览器驱动
  • se底层是http(单向通讯),playwright基于websocket(双向通信)
  • playwright更加稳定
  • playwright自动等待(se中:显示/隐式/强制no such element)
  • playwright支持异步(ui自动化影响不大,但接口有很多的优势)
  • 支持报告视频
  • 支持移动端
  • 自定义定位
  • 原生支持CDP
  • 不需要跳框架
  • 上下文检索

playwright安装

pip install playwright

playwright install # 下载playwright附带的浏览器驱动,和报告视频的组件

脚本录制

playwright codegen https://www.baidu.com/ # 录制百度为例

 browser.new_context()

```Python
from playwright.sync_api import Playwright, sync_playwright, expect


def run(playwright: Playwright) -> None:
    browser = playwright.chromium.launch(headless=False)
    context = browser.new_context()

    page = context.new_page()
    page.goto("http://test.mediolabs.com/")
        
     # ---------------------
      context.close()
      browser.close()


with sync_playwright() as playwright:
    run(playwright)

```
  • context:Creates a new browser context. It won't share cookies/cache with other browser contexts.

    (创建一个新的浏览器上下文。它不会与其他浏览器上下文共享 cookie/缓存)

    相当于,多个page页相互有关联的。

  • 这个是独立的浏览器,隐身对话,意思是每一个Beowser contexts都是独立的,互相之间没有关系,等于说全都是新装的浏览器。同一个context下才相互关联。

  • 个人理解,一个context相当于重新多下载一个新的浏览器。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值