软件测试|web自动化测试神器playwright教程(十八)

举报
霍格沃兹测试开发 发表于 2023/07/31 18:15:47 2023/07/31
【摘要】 在我们的日常工作中,经常会遇到需要在页面上悬浮,才可以对部分内容进行点击的情况,如下图,我们需要先在设置处悬浮,才可以点击下方的各项设置项。如果未进行悬停,我们可以在开发者工具看到,当我们未在设置处悬停时,设置下的所有选项均为不可见当我们悬停时,这些元素都会变为可见,如下图:如果我们使用selenium来处理,就需要引入鼠标事件,先进行悬停后进行点击,但是如果我们使用playwright,会...

在我们的日常工作中,经常会遇到需要在页面上悬浮,才可以对部分内容进行点击的情况,如下图,我们需要先在设置处悬浮,才可以点击下方的各项设置项。

image.png

如果未进行悬停,我们可以在开发者工具看到,当我们未在设置处悬停时,设置下的所有选项均为不可见

image.png

当我们悬停时,这些元素都会变为可见,如下图:

image.png

如果我们使用selenium来处理,就需要引入鼠标事件,先进行悬停后进行点击,但是如果我们使用playwright,会简单许多,下面我们就来介绍一下playwright对于悬停的处理。

实例

我们还是以百度首页为例,悬停在设置处,在下拉框中选择高级搜索,代码如下:

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("https://www.baidu.com/")
    page.get_by_role("link", name="高级搜索").click()

    # ---------------------
    context.close()
    browser.close()


with sync_playwright() as playwright:
    run(playwright)

运行结果如下图:

image.png

总结

本文主要介绍了playwright的鼠标悬停操作,相对于selenium,playwright的悬停操作代码更为简单,执行更加迅速。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。