我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Playwright怎么使用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Playwright怎么使用

这篇文章主要讲解了“Playwright怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Playwright怎么使用”吧!

    Playwright是由微软公司2020年初发布的新一代自动化测试工具,相较于目前最常用的Selenium,它仅用一个API即可自动执行Chromium、Firefox、WebKit等主流浏览器自动化操作。作为针对 Python 语言纯自动化的工具,在回归测试中可更快的实现自动化。

    1. 为什么选择Playwright

    1.1 Playwright的优势

    (1) Selenium需要通过WebDriver操作浏览器;Playwright通过开发者工具与浏览器交互,安装简洁,不需要安装各种Driver。

    (2) Playwright几乎支持所有语言,且不依赖于各种Driver,通过调用内置浏览器所以启动速度更快。

    (3) Selenium基于HTTP协议(单向通讯),Playwright基于Websocket(双向通讯)可自动获取浏览器实际情况。

    (4) Playwright为自动等待。

    • 等待元素出现(定位元素时,自动等待30s,等待时间可以自定义,单位毫秒)

    • 等待事件发生

    1.2 已知局限性

    (1) Playwright不支持旧版Microsoft Edge或IE11。支持新的Microsoft Edge(在Chromium上);所以对浏览器版本有硬性要求的项目不适用。

    (2) 需要SSL证书进行访问的网站可能无法录制,该过程需要单独定位编写。

    (3) 移动端测试是通过桌面浏览器来模拟移动设备(相当于自带模拟器),无法控制真机。

    2. Playwright使用

    2.1 安装

    (1)安装Playwright依赖库(Playwright支持Async\Await语法,故需要Python3.7+)

    pip install playwright

    (2)安装Chromium、Firefox、WebKit等浏览器的驱动文件(内置浏览器)

    python -m playwright install

    2.2 自动录制

    (1)命令行键入 --help 看到所有可后接选项

    python -m playwright codegen --help

    (2)从起始页为xingzheai.cn开始录制

    python -m playwright codegen https://xingzheai.cn/

    (3)打开xingzheai.cn,用Chromium驱动,将结果保存为my.py的python文件

    python -m playwright codegen --target python -o 'my.py' -b chromium https://xingzheai.cn/

     -target:规定生成脚本的语言,有JS和Python两种,默认为Python
    -b:指定浏览器驱动
    -o:将录制的脚本保存到一个文件

    2.3 定制化编写

    (1)元素定位

    • 选择单个元素:querySelector(engine=body)

    • 选择多个元素:querySelectorAll(engine=body)

    • 选择单个元素,并且自动等待:waitForSelector(engine=body)

    By的8种定位方式,实际为4种

    • id、name、tag name、class name(java和pythona将该4种都归为CSS)

    • xpath、link text、partial link text、css selector

    W3C标准规定的webDriver协议为5种定位方式

    • CSS、Link text、Partial link text、Tag name、XPath

    Playwright将选择器汇总为3种

    • CSS、XPATH(支持逻辑表达式和函数)、TEXT

    (2)选择器规则

    • CSS: ID选择器、类选择器、元素选择器、属性选择器、通配选择器、层次选择器。

    • XPath: XML路径语言,通过“路径标识符”,导航XML文档的,在类XML种(HTML)也可以使用。

    • Text: 结构化内容(html,xml,json)使用模糊匹配(忽略大小写,忽略前后空格,搜索子字符串)及精确匹配、非结构化内容使用正则匹配。

    (3)元素常用操作

    • 下拉选择框:selectOpion、value、labei、index

    • 文件上传:setInputFiles、单个文件、多个文件、拖放上传

    • 鼠标点击:click、dbclick

    • 鼠标拖动:down、up

    • 鼠标移动:move

    • 触摸屏幕:tag

    • 键盘按键:press

    • 截屏、录屏:screenshot、recordVideo

    2.4 网络拦截(Mock接口),示例如下:

    page = context.newPage()def Whether_intercept() -> bool:    return True  #进行拦截# return False #不进行拦截def handler(route:Route):    print(route.request.url)    #正常访问    # route.continue_()    #拒绝访问    # route.abort("网络拦截")    # 重定向到非目标地址    route.fulfill(        status=302,        headers={            'Location' : "https://xingzheai.cn/"        }    )page.route(Whether_intercept,handler)

    5 同步执行,示例如下:

    #依次打开三个浏览器,前往行者官网,截图后退出。from playwright import sync_playwright with sync_playwright() as p:    for browser_type in [p.chromium, p.firefox, p.webkit]:         # 指定为有头模式,Ture为无头模式        browser = browser_type.launch(headless=False)        page = browser.newPage()        page.goto('https://xingzheai.cn/')        # 等待页面加载完全后截图        page.waitForSelector("text=智能内容审核")        page.screenshot(path=f'example-{browser_type.name}.png')        browser.close()

    2.6 异步执行,示例如下:

    #同时进行三个浏览器操作import asynciofrom playwright import async_playwrightasync 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.newPage()         await page.goto('https://xingzheai.cn/')          await page.waitForSelector("text=智能内容审核")          await page.screenshot(path=f'example-{browser_type.name}.png')          await browser.close()         asyncio.get_event_loop().run_until_complete(main())

    2.7 Pytest结合,示例如下:

    安装:pip install pytest-playwright

    def test_playwright(page):    page.goto("https://xingzheai.cn/")    with page.expect_popup() as popup_info:          page.click('text="智能内容审核"')             assert "智能内容审核" == element.textContent()

    2.8 移动端操作,示例如下:

    目前支持模拟机型较少, 参照:仿真设备列表

    from time import sleepfrom playwright import sync_playwright  with sync_playwright() as p:    GalaxyS5 = p.devices['Galaxy S5']    browser = p.chromium.launch(headless=False)    context = browser.newContext(**GalaxyS5)    page = context.newPage()    page.goto('https://xingzheai.cn/')    page.click('text="智能内容审核"')    # 截图    # page.screenshot(path='colosseum-GalaxyS5.png')    sleep(10)    browser.close()

    感谢各位的阅读,以上就是“Playwright怎么使用”的内容了,经过本文的学习后,相信大家对Playwright怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

    免责声明:

    ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

    ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

    Playwright怎么使用

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档

    猜你喜欢

    Playwright怎么使用

    这篇文章主要讲解了“Playwright怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Playwright怎么使用”吧!Playwright是由微软公司2020年初发布的新一代自动化
    2023-06-25

    Python的Playwright怎么安装使用

    这篇文章主要介绍“Python的Playwright怎么安装使用”,在日常操作中,相信很多人在Python的Playwright怎么安装使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python的Play
    2023-06-25

    Python爬虫神器playwright怎么使用

    这篇文章主要介绍了Python爬虫神器playwright怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python爬虫神器playwright怎么使用文章都会有所收获,下面我们一起来看看吧。前言今天把
    2023-07-06

    Python中Playwright怎么用

    这篇文章将为大家详细讲解有关Python中Playwright怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Playwright是Microsoft在2020年初开源的新一代自动化测试工具,它的功能
    2023-06-22

    Python中怎么使用Playwright实现自动化

    这篇文章将为大家详细讲解有关Python中怎么使用Playwright实现自动化,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、Playwright介绍Playwright是一个强大的Py
    2023-06-15

    Python中Playwright与pyunit怎么结合使用

    这篇文章主要介绍“Python中Playwright与pyunit怎么结合使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python中Playwright与pyunit怎么结合使用”文章能帮助大
    2023-07-05

    Python使用pytest playwright的原因是什么

    这篇文章主要介绍了Python使用pytest playwright的原因是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python使用pytest playwright的原因是什么文章都会有所收获,下面
    2023-07-05

    Python使用pytest-playwright的原因分析

    pytest-playwright是一个Python包,它允许您使用Microsoft的Playwright库在Python项目中进行端到端测试,这篇文章主要介绍了Python为什么使用pytest-playwright,需要的朋友可以参考下
    2023-03-02

    Python中Playwright 与 pyunit 结合使用详解

    这篇文章主要介绍了Python中Playwright 与 pyunit 结合使用,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03

    Playwright中怎么保持登录状态

    本篇内容主要讲解“Playwright中怎么保持登录状态”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Playwright中怎么保持登录状态”吧!引言在编写UI自动化测试用例的时候,通常会采用每
    2023-06-25

    python中playwright结合pytest执行怎么实现

    这篇文章主要讲解了“python中playwright结合pytest执行怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python中playwright结合pytest执行怎么实现
    2023-06-25

    Python playwright怎么自动录制生成脚本

    今天小编给大家分享一下Python playwright怎么自动录制生成脚本的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。前
    2023-07-05

    怎么提取Playwright录制文件中的元素定位信息

    本篇内容主要讲解“怎么提取Playwright录制文件中的元素定位信息”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么提取Playwright录制文件中的元素定位信息”吧!引言最近组内推行Pl
    2023-06-25

    编程热搜

    • Python 学习之路 - Python
      一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
      Python 学习之路 - Python
    • chatgpt的中文全称是什么
      chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
      chatgpt的中文全称是什么
    • C/C++中extern函数使用详解
    • C/C++可变参数的使用
      可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
      C/C++可变参数的使用
    • css样式文件该放在哪里
    • php中数组下标必须是连续的吗
    • Python 3 教程
      Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
      Python 3 教程
    • Python pip包管理
      一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
      Python pip包管理
    • ubuntu如何重新编译内核
    • 改善Java代码之慎用java动态编译

    目录