如何在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
相关产品推荐
相关产品推荐

