playwright初步安装与使用

Playwright 是微软在 2020 年初开源的新一代自动化测试工具,它的功能类似于 Selenium、Pyppeteer 等,都可以驱动浏览器进行各种自动化操作。它的功能也非常强大,对市面上的主流浏览器都提供了支持,API 功能简洁又强大。虽然诞生比较晚,但是现在发展得非常火热。

因为 Playwright 是一个类似 Selenium 一样可以支持网页页面渲染的工具,再加上其强大又简洁的 API,Playwright 同时也可以作为网络爬虫的一个爬取利器。

1. Playwright 的特点
Playwright 支持当前所有主流浏览器,包括 Chrome 和 Edge(基于 Chromium)、Firefox、Safari(基于 WebKit) ,提供完善的自动化控制的 API。

Playwright 支持移动端页面测试,使用设备模拟技术可以使我们在移动 Web 浏览器中测试响应式 Web 应用程序。

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

Playwright 的安装和配置非常简单,安装过程中会自动安装对应的浏览器和驱动,不需要额外配置 WebDriver 等。

Playwright 提供了自动等待相关的 API,当页面加载的时候会自动等待对应的节点加载,大大简化了 API 编写复杂度。

2. 安装
Playwright 目前提供了 Python 和 Node.js 的 API,下面我们针对 Python 版的 Playwright 进行介绍。

要使用 Playwright,需要 Python 3.7 版本及以上,推荐大家使用Python 3.8,这个版本给我们做了一些优化

要安装 Playwright,可以直接使用 pip3,命令如下:
 

pip install playwright

安装之后我们要通过playwright 安装一些浏览器

playwright install
##这样会安装chrome,firefox,WebKit 浏览器配件,他会自动给我们配置好

playwright 同样给我们带来了同步和异步的用法,同步是顺序执行,异步类似并行。

下面代码演示的是同步的示例,python环境

from playwright.sync_api import sync_playwright
 
 
with sync_playwright() as p:
 
    for browser_type in [p.chromium, p.firefox, p.webkit]:
 
        browser = browser_type.launch(headless=False)
 
        page = browser.new_page()
 
        page.goto('https://www.baidu.com')

 
        print(page.title()) ##打印标题
 
        browser.close()

运行之后可见 playwright 运行速度是很快的,对比起来selenium执行效率更高一些。

下面是异步的一个用法

import asyncio
 
from playwright.async_api import async_playwright
 
 
async def main():
 
    async with async_playwright() as p:
 
        for browser_type in [p.chromium, p.firefox, p.webkit]:
 
            browser = await browser_type.launch()
 
            page = await browser.new_page()
 
            await page.goto('https://www.baidu.com')
 
            print(await page.title())
 
            await browser.close()
 
 
asyncio.run(main())

可见不是顺寻执行,正常来说python是从左到右从上至下顺序执行。

下面来介绍playwright 最吸引人的一点

代码自动生成功能

playwright codegen

在终端可以执行这个命令,然后咱我们点击的是时候代码会自动生成,然后复制到python文件 他就可以运行了 

在我们登陆的时候 会有遇到验证码的情况,多数调用接口是要付费的,

那么playwright 给我们提供了down  cookie的方法

 

playwright codegen --save-storge={命名}.json

##上边是保存 自己加载网站,下边是加载 加上网站
playwright codegen --load-storge={命名}.json {域名}

关注statham了解更多前沿知识

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值