返回顶部
首页 > 资讯 > 后端开发 > Python >python playwright自动等待和断言举例分析
  • 870
分享到

python playwright自动等待和断言举例分析

2023-06-21 21:06:47 870人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容主要讲解“python playwright自动等待和断言举例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python playwright自动等待和断言举例分

本篇内容主要讲解“python playwright自动等待和断言举例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习Python playwright自动等待和断言举例分析”吧!

    自动等待及元素执行方法

    操作元素的一系列方法,只要调用了测试夹函数page,就能引出操作元素的方法:

    import pytestfrom playwright.sync_api import Pagedef test_example(page: Page):    page.Goto("https://www.baidu.com")    page.hover('//*[@id="u1"]/*[text()="设置"]')    page.click('//*[@id="s-user-setting-menu"]//*[text()="搜索设置"]')    page.set_checked('//*[text()="全部语言"]', False)    assert page.title() == "百度一下,你就知道"    page.close()if __name__ == '__main__':    pytest.main(["-v", "test_example.py"])

    playwright对元素执行前,会进行一系列可操作性检查,以确保这些行动按预期运行。它会自动等待所有相关检查通过,然后才执行请求的操作。如果所需的检查未在给定的范围内通过则抛出timeout,操作将失败并显示TimeoutError。

    • 执行方法如下:

    鼠标双击

    page.dblclick()

    获取元素焦点

    # 获取元素并聚焦它。 如果没有匹配的元素,则方法等待匹配元素出现在 DOM 中。    page.focus('#su')

    鼠标悬停

    # 就是鼠标放在按钮上,此方法针对那种浮框操作    page.hover('//*[@id="u1"]/*[text()="设置"]')

    鼠标点击

    page.click('//*[@id="s-user-setting-menu"]//*[text()="搜索设置"]')

    设置复选框取消或选中

    page.click('//*[@id="s-user-setting-menu"]//*[text()="搜索设置"]')

    取消已选中复选框取

    # 确保元素是复选框或单选框。如果该元素已取消选中,则此方法立即返回    page.uncheck('//*[text()="仅简体中文"]')

    输入参数

    # 此方法是聚焦元素,input输入值后触发事件。您也可以传递一个空字符串来清除输入字段。    page.fill("#kw", "秦时明月")

    获取元素属性值

    # 返回元素属性值    page.get_attribute('#kw', 'name')

    获取内部文本

    page.inner_text('//*[@id="s-hotsearch-wrapper"]//*[@data-index="2"]//*[@class="title-content-title"]')

    获取内部html

    page.inner_html('//*[@id="s-hotsearch-wrapper"]//*[@data-index="2"]')

    获取文本内容

    page.text_content('//*[@id="s-hotsearch-wrapper"]//*[@data-index="2"]')

    截图

    # baidu.png存放至当前文件夹下的cases文件夹种    page.screenshot(path='./cases/baidu.png')

    填写文本并触发键盘事件

    # 为文本中的每个字符发送一个keydown、keypress/input和keyup事件。    page.type("#kw", "hello")

    输入键盘操作

    # 获取按钮元素,输入键盘操作    page.press('#su', 'Enter')

    设置select下拉选项

    # 与值匹配的单个选择    page.select_option(\"select#colors\", \"blue\")    # 与标签匹配的单个选择    page.select_option(\"select#colors\", label=\"blue\")    # 多项选择    page.select_option(\"select#colors\", value=[\"red\", \"green\", \"blue\"])

    调度事件

       # type可传:"click", "dragstart"    page.dispatch_event('#su', 'click')

    检查点(断言)

    文字内容断言

    # 获取文本内容,进行断言    content = page.text_content('[target="_blank"]:first-child')    assert content == "新闻"

    内部文字断言

    # 获取内部文字,进行断言    text = page.inner_text('[target="_blank"]:first-child')    assert text == "新闻"

    属性断言

    # 获取属性值,进行断言    attribute = page.get_attribute('#su', 'value')    assert attribute == "百度一下"

    复选框断言

    page.hover('//*[@id="u1"]/*[text()="设置"]')    page.click('//*[@id="s-user-setting-menu"]//*[text()="搜索设置"]')    # 复选框状态,进行断言    checked = page.is_checked('//*[text()="全部语言"]')    assert checked

    js表达式断言

    # JS表达式,进行断言    js_content = page.locator('[data-index="4"]>a>[class="title-content-title"]').text_content()    assert js_content == "长津湖超战狼2成中国影史票房冠军"

    内部HTML断言

    # 内部 HTML ,进行断言    html = page.inner_html('[class="hot-title"]')    assert "百度热搜" in html

    元素可见断言

    # 元素可见性 ,进行断言    visible = page.is_visible('#su')    assert visible

    启动状态断言

    # 启用状态(元素存在可点击) ,进行断言    enabled = page.is_enabled('#su')    assert enabled

    直接对比断言

    assert page.title() == "百度一下,你就知道"

    playwright还提供了自定义断言,这一块我还没有实操过,有兴趣可的可继续研究下:

    # 断言本地存储值user_id = page.evaluate("() => window.localStorage.getItem('user_id')")assert user_id# 断言输入元素的值value = page.locator('#search').input_value()assert value == 'query'# 断言计算样式font_size = page.locator('div').evaluate('el => window.getComputedStyle(el).fontSize')assert font_size == '16px'# 断言列表长度length = page.locator('li.selected').count()assert length == 3

    到此,相信大家对“python playwright自动等待和断言举例分析”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

    --结束END--

    本文标题: python playwright自动等待和断言举例分析

    本文链接: https://lsjlt.com/news/300637.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • python playwright自动等待和断言举例分析
      本篇内容主要讲解“python playwright自动等待和断言举例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python playwright自动等待和断言举例分...
      99+
      2023-06-21
    • pythonplaywright自动等待和断言详解
      目录自动等待及元素执行方法鼠标双击获取元素焦点鼠标悬停鼠标点击设置复选框取消或选中取消已选中复选框取输入参数获取元素属性值获取内部文本获取内部HTML获取文本内容截图填写文本并触发键...
      99+
      2024-04-02
    • Python异常断言实例分析
      本篇内容介绍了“Python异常断言实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!断言是判断一个表达式,在表达式为 False 的时...
      99+
      2023-06-29
    • Python语言的面向对象举例分析
      本篇内容介绍了“Python语言的面向对象举例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先,我们需要定义一个新的HTMLParse...
      99+
      2023-06-17
    • python字符串和编码举例分析
      本篇内容主要讲解“python字符串和编码举例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python字符串和编码举例分析”吧!  字符串属于一种数据类型,字符串比较重要的就是编码问题  ...
      99+
      2023-06-02
    • MySql超长自动截断的示例分析
      这篇文章主要介绍了MySql超长自动截断的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。如下CREATE TABLE&nb...
      99+
      2024-04-02
    • python中断言方法的示例分析
      这篇文章主要为大家展示了“python中断言方法的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python中断言方法的示例分析”这篇文章吧。pytho...
      99+
      2024-04-02
    • Python中自动微分的示例分析
      这篇文章主要为大家展示了“Python中自动微分的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Python中自动微分的示例分析”这篇文章吧。一、简介antograd包是Pytorch中...
      99+
      2023-06-25
    • Python进程和线程知识点举例分析
      本篇内容主要讲解“Python进程和线程知识点举例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python进程和线程知识点举例分析”吧!多线程一个进程至少包含一个线程,其实进程就是由若干个...
      99+
      2023-06-02
    • C语言中枚举和联合体的示例分析
      这篇文章主要介绍了C语言中枚举和联合体的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。枚举什么是枚举?顾名思义,就是一一列举,把所有的情况,所有的取值,一一列举出来。...
      99+
      2023-06-25
    • python中自动补全tab是示例分析
      这篇文章将为大家详细讲解有关python中自动补全tab是示例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在python中运行命令sys.path查看python路径>>&...
      99+
      2023-06-05
    • Python自动化办公脚本的示例分析
      小编给大家分享一下Python自动化办公脚本的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、自动化阅读网页新闻这个脚本能够实现从网页中抓取文本,然后自...
      99+
      2023-06-29
    • python多进程和VNPY多进程参数优化举例分析
      这篇文章主要讲解了“python多进程和VNPY多进程参数优化举例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python多进程和VNPY多进程参数优化举例分析”吧!首先,由于GIL(...
      99+
      2023-06-02
    • python中自动化运维工具ansible的示例分析
      这篇文章主要介绍python中自动化运维工具ansible的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!ansible 简介ansible 是什么?  ansible是新出现的自动化运维工具,基于Pytho...
      99+
      2023-06-20
    • SyntaxHighlighter自动识别并加载脚本语言的示例分析
      今天就跟大家聊聊有关SyntaxHighlighter自动识别并加载脚本语言的示例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。SyntaxHi...
      99+
      2024-04-02
    • python接口自动化之正则用例参数化示例分析
      本篇内容主要讲解“python接口自动化之正则用例参数化示例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python接口自动化之正则用例参数化示例分析”吧!前言我们在做接口自动化的时候,处...
      99+
      2023-07-02
    • 使用Gitee自动化部署python脚本的示例分析
      这篇文章将为大家详细讲解有关使用Gitee自动化部署python脚本的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、前期准备1.1 安装环境安装python32、打开命令行安装selenium...
      99+
      2023-06-15
    • Python中Selenium自动化浏览器测试的示例分析
      小编给大家分享一下Python中Selenium自动化浏览器测试的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Python之Selenium(自动化浏览...
      99+
      2023-06-29
    • Python自动化之批量处理工作簿和工作表的示例分析
      这篇文章主要介绍Python自动化之批量处理工作簿和工作表的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、批量新建并保存工作簿import xlwings as xw&nbs...
      99+
      2023-06-15
    • Python+Selenium自动化环境搭建与操作的示例分析
      这篇文章主要介绍Python+Selenium自动化环境搭建与操作的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、环境搭建1、python 安装下载地址:点击这里下载选择合适的版本进行安装根据自己的操作系...
      99+
      2023-06-29
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作