python+playwright 学习-27 鼠标悬停 hover() 和listitem 定位

前言

鼠标悬停到某个元素上后出现一些选项,这是很常见的操作了,playwright 操作鼠标悬停非常简单,只需调用hover() 方法。

鼠标悬停

打开官网https://playwright.dev/

鼠标悬停到按钮上才会出现选项

代码示例

from playwright.sync_api import sync_playwright
# 上海悠悠 wx:283340479  
# blog:https://www.cnblogs.com/yoyoketang/

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False)
    page = browser.new_page()
    page.goto("https://playwright.dev/")

    dropdown = page.locator('.dropdown--hoverable')
    # 鼠标悬停
    dropdown.hover()
    # 点选项
    dropdown.locator('.dropdown__link >> text=python').click()


    page.pause()
    browser.close()

listitem 定位

对于ul-li的元素,可以用listitem 的角色

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Pytest 使用 Playwright,您可以编写测试用例来测试鼠标悬停并单击元素的功能。以下是一个示例测试用例,可以悬停并单击一个具有 `id` 属性的元素: ```python import pytest from playwright.sync_api import Playwright, sync_playwright def test_mouse_hover_and_click(playwright: Playwright): with playwright.chromium.launch() as browser: with browser.new_context() as context: page = context.new_page() page.goto('https://example.com') element = page.query_selector('#element-id') element.hover() element.click() ``` 在这个测试用例,我们使用 `pytest.fixture` 装饰器来注入 Playwright 对象。然后,我们使用 `with` 语句创建一个 Playwright 浏览器实例和一个上下文实例,并在该上下文创建一个新页面。接下来,我们获取要操作的元素,并使用 `hover()` 方法悬停在该元素上,然后使用 `click()` 方法单击该元素。 如果您想要在单击之前等待一段时间以确保页面上的一些内容已加载,可以使用 `time.sleep()` 方法。例如,以下代码会等待 2 秒钟,然后悬停并单击元素: ```python import pytest import time from playwright.sync_api import Playwright, sync_playwright def test_mouse_hover_and_click(playwright: Playwright): with playwright.chromium.launch() as browser: with browser.new_context() as context: page = context.new_page() page.goto('https://example.com') element = page.query_selector('#element-id') time.sleep(2) # 等待 2 秒钟 element.hover() element.click() ``` 请注意,这里使用了 Python 的 `time.sleep()` 方法而不是 Playwright 的 `page.wait_for_timeout()` 方法,因为在 Pytest 不支持后者。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值