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

如何使用Selenium Python将鼠标从指定元素向上移动9像素

解决方法

你现有的代码存在两个核心问题:

  • 没有先将鼠标定位到目标元素上,move_by_offset默认是相对于当前鼠标的视口位置偏移,无法达到相对于目标元素偏移的效果
  • ActionChains的所有动作需要串联在同一个实例中,最后调用perform()才会实际执行,你分开创建多个ActionChains实例且没有调用执行方法,操作不会生效

正确实现代码

# 定位目标元素
classic = browser.find_element(By.CLASS_NAME, "surf-text")

# 构造并执行动作链
webdriver.ActionChains(browser)\
    .move_to_element(classic)  # 先移动到目标元素的中心位置
    .move_by_offset(0, -9)     # 基于元素中心向上偏移9像素
    .click()                   # 在偏移后的位置执行点击
    .perform()                 # 触发所有链式动作执行

补充注意事项

  • 若页面存在加载延迟,建议先添加显式等待逻辑,确保元素成功定位后再执行动作链,避免抛出NoSuchElementException报错
  • 如果后续还有其他基于该偏移位置的操作,可以把动作链实例赋值给变量后再扩展动作,效果和链式调用完全一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 17:45:03