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

MacOS High Sierra下Safari12.1中Selenium DragAndDropBy失效求助

解决MacOS High Sierra下Safari 12.1拖拽无法释放的问题

我之前在处理老版本Safari的Selenium自动化时,也碰到过类似的拖拽释放失效问题,结合你用的系统和浏览器版本,这大概率是浏览器权限限制或者Selenium动作适配的问题,给你几个针对性的解决方案:

  • 开启Safari远程自动化权限
    Safari对自动化操作的限制比较严格,首先得开启开发者菜单并授权远程自动化:

    1. 打开Safari,进入「偏好设置」>「高级」,勾选「显示开发菜单」
    2. 在顶部菜单栏的「开发」选项里,选择「允许远程自动化」
      这一步是基础,没开启的话很多交互类操作都会出现异常。
  • 改用精细化的动作链模拟拖拽
    你用的dragAndDropBy方法在Safari 12.1里可能没有正确触发释放事件,可以试试分步模拟完整的拖拽流程,加入短暂停顿更贴近真实用户操作:

    Actions actionTest = new Actions(driver);
    actionTest.clickAndHold(dragMe)
              .moveByOffset(xCoOrdinate, yCoOrdinate)
              .pause(500) // 模拟真实拖拽时的停顿,帮助Safari识别动作
              .release()
              .build()
              .perform();
    

    这种分步的动作链比dragAndDropBy更明确,能更好地触发Safari的拖拽释放事件。

  • 检查系统辅助功能权限
    Mac的安全设置可能会阻止Selenium控制浏览器,你需要授权相关程序:
    进入「系统偏好设置」>「安全与隐私」>「隐私」>「辅助功能」,把运行测试脚本的程序(比如你的IDE、终端)添加到列表中,授权后重启Safari再测试。

  • 验证Selenium版本兼容性
    Safari 12.1和Selenium 4.x系列的兼容性不太好,建议降级到Selenium 3.141.59这个稳定版本,这个版本对老版本Safari的支持更完善。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 05:00:44