You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Robot Framework中使用Browser Library处理鼠标滚轮事件?

Robot Framework Browser Library 鼠标滚轮事件实现方案

Browser库本身未封装原生的鼠标滚轮操作关键字,可通过以下两种稳定方案实现:

方案1:注入JavaScript执行元素级滚轮操作

  • 适用场景:需要对指定元素区域触发滚轮、或滚动到目标元素可见
  • 示例代码:
*** Settings ***
Library    Browser

*** Test Cases ***
指定元素内滚轮滚动
    New Page    https://你的测试页面地址
    # 定位需要触发滚轮的目标元素
    ${target_elem}    Get Element    //你的元素定位表达式
    # 方案1-1:直接控制元素滚动,deltaY正数向下、负数向上,单位为像素
    Evaluate JavaScript    ${target_elem}    (elem) => elem.scrollBy(0, 300)
    # 方案1-2:模拟真实鼠标滚轮事件触发,可覆盖监听wheel事件的业务场景
    Evaluate JavaScript    ${target_elem}    (elem) => {
        const wheelEvent = new WheelEvent('wheel', {
            deltaY: 300,
            bubbles: true,
            cancelable: true
        })
        elem.dispatchEvent(wheelEvent)
    }

方案2:调用底层Playwright鼠标API实现全局滚轮

  • 适用场景:模拟鼠标在当前视口任意位置的滚轮操作,不需要绑定特定元素
  • 示例代码:
*** Test Cases ***
全局视口鼠标滚轮操作
    New Page    https://你的测试页面地址
    # 获取当前页面的Playwright原生实例
    ${current_page}    Get Current Page
    # 可选步骤:将鼠标移动到需要触发滚轮的坐标位置
    Mouse Move    600    400
    # 调用Playwright原生鼠标滚轮方法,deltaY控制纵向滚动,deltaX控制横向滚动
    Evaluate JavaScript    ${current_page}    (page) => page.mouse.wheel(0, 300)

提示:deltaY取值为正代表向下滚动,取值为负代表向上滚动;deltaX取值为正代表向右滚动,负代表向左滚动,可根据测试场景自定义数值大小。

内容的提问来源于stack exchange,提问作者SANDESH TH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 20:36:03