Playwright,Web测试和自动化的框架

Playwright 是一个用于 Web 测试和自动化的框架,可通过单个 API 实现 Chromium 、Firefox 和 WebKit 浏览器的自动化操作。

它旨在实现强大、可靠且快速的跨浏览器 Web 自动化,支持 Linux、Mac 以及 Windows 操作系统。

Playwright 的特点

  • Playwright 支持当前所有主流浏览器

  • Playwright 支持移动端页面测试

  • Playwright 支持所有浏览器的 Headless 模式和非 Headless 模式的测试

  • Playwright 的安装和配置非常简单

  • Playwright 提供了自动等待相关的 API

初体验

库的安装

可以直接使用 pip 来进行安装。注意,要确保你的 python 版本大于 3.7

pip install playwright

安装完成之后需要进行初始化操作。

playwright install

这时候 Playwrigth 会安装 Chromium,Firefox 和 WebKit 浏览器并配置一些驱动,我们不必关心中间配置的过程,Playwright 会为我们配置好。

基本操作

Playwright 支持同步与异步两种模式。

我们先来看一个基本同步模式的例子。

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
      browser_type = p.chromium
      browser = browser_type.launch()
      page = browser.new_page()
      page.goto('https://www.baidu.com')
      page.screenshot(path=f'screenshot-{browser_type.name}.png')
      print(page.title())
      browser.close()

运行此代码,会启动谷歌浏览器并加载百度首页,页面加载完成之后,生成截图,然后输出页面的标题。

图片

Playwright 还提供了异步的 API,如果我们项目里面使用了 asyncio,那就应该使用异步模式,写法如下所示。

import asyncio
from playwright.async_api import async_playwright

async def main():
    async with async_playwright() as p:
          browser_type = p.chromium
            browser = await browser_type.launch()
            page = await browser.new_page()
            await page.goto('https://www.baidu.com')
            await page.screenshot(path=f'screenshot-{browser_type.name}.png')
            print(await page.title())
            await browser.close()

asyncio.run(main())

可以看到整个写法和同步模式基本类似。更多功能期待大家去探索。

来源—–小寒聊python

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇