鼠标操作练习 · 释放

释放 release — ActionChains.release() 分步拖放的收尾动作

练习 · 释放 release()

左击 右击 双击 移动 按住 释放 拖拽 滚动

练习 6 · 释放 release()

📋 练习要求 · 释放 release()
概念释放是鼠标操作链的最后一步,完成"按住 → 移动 → 释放"完整拖拽流程
Selenium APIActionChains(driver).release().perform() 或分步组合
练习要点
  • release() 释放鼠标左键(不需要传元素参数)
  • 典型用途:先 click_and_hold → move_to_element → release 完成拖拽
  • 比直接用 drag_and_drop 更灵活,可自定义中间路径
# 快速参考
from selenium.webdriver.common.action_chains import ActionChains
src  = driver.find_element(By.ID, "p6_source")
tgt  = driver.find_element(By.ID, "p6_target")
ActionChains(driver) \
    .click_and_hold(src) \
    .move_to_element(tgt) \
    .release() \
    .perform()
📋 本节练习清单
  • ✅ 练习目标:分步组合 click_and_hold → move_to_element → release 完成拖放
6 练习目标:按住 → 移动 → 释放,完成分步拖放

操作步骤:
① 定位 p6_source(源)和 p6_target(目标)两个区域;
② 用 click_and_hold(source).move_to_element(target).release().perform() 组合执行;
③ 断言 p6_target 显示「已接收」或 p6_result 包含「释放完成」。

释放交互演示区(真实拖动)
👆 按住紫色盒子,拖到右侧虚线目标区,松开完成
源
🎯 目标区
等待拖动...
💬 操作日志(拖动实时记录)
// 按住紫色盒子开始拖动...

💡 提示:前端拖动 = mousedown→mousemove→mouseup,对应 Selenium 的 click_and_hold().move_to_element().release()。

查看参考答案(Python Selenium)
# 练习 6 参考答案 · 释放(分步组合)
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains

driver.get("https://autotest-505.pages.dev/mouse_op_practice.html")
source = driver.find_element(By.ID, "p6_source")
target = driver.find_element(By.ID, "p6_target")
actions = ActionChains(driver)

# 分步:按住 → 移动 → 释放
actions.click_and_hold(source) \
       .move_to_element(target) \
       .release() \
       .perform()

assert "已接收" in target.text

关于我们

Python 自动化测试学习平台是一个面向软件测试工程师、开发人员及在校学生的交互式在线学习平台,专注于 Selenium WebDriver 与 Python unittest 自动化测试技能的教学与实践。

我们以"理论 + 实战 + 可交互演示"为核心特色,将八种常规元素定位和Javascript定位、元素操作、自动化测试工具、单元测试、测试模型等知识体系拆分为模块化课程,每个模块都配有可点击、可输入、可运行的模拟练习页面。

平台致力于降低自动化测试的入门门槛,让学习者从"看懂代码"到"动手实操",逐步掌握企业级自动化测试框架的设计与落地能力。

联系方式

📧邮箱:lq@selenium-auto-test.com

📞电话:0755-12345678

📍地址:深圳

💬微信公众号:Selenium自动化测试

🐙GitHub:github.com/selenium-auto-test

免责声明

1. 本平台所有示例代码、演示页面及教程内容均仅供学习交流使用,不构成任何商业推广或技术服务承诺。

2. 平台中的 Selenium API 描述、Python 语法说明均以官方文档为准,如有版本差异请以对应官方文档为准。

3. 学习者在实际项目中应用平台所学内容时,应结合自身项目环境进行充分测试,本平台不对因直接使用示例代码而产生的任何直接或间接损失承担责任。

4. 本平台所引用的第三方库(Selenium、ChromeDriver、unittest 等)版权归其各自作者及维护者所有。

5. 如涉及版权问题或内容建议,请及时通过联系方式与我们沟通,我们将第一时间处理。