鼠标操作练习 · 按住

按住 click_and_hold — ActionChains.click_and_hold() 保持鼠标按下

练习 · 按住 click_and_hold()

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

练习 5 · 按住 click_and_hold()

📋 练习要求 · 按住 click_and_hold()
概念按住不松是按下鼠标按钮但不释放,常用于拖拽、滑块拖动、长按触发
Selenium APIActionChains(driver).click_and_hold(el).perform()
练习要点
  • click_and_hold 只按下,不会自动释放(直到调用 release 或 perform 结束)
  • 按住后可以组合 move_by_offset / move_to_element 实现拖拽
  • 若不释放,后续操作可能受影响(鼠标一直处于按下状态)
# 快速参考
from selenium.webdriver.common.action_chains import ActionChains
import time
btn = driver.find_element(By.ID, "p5_btn")
# 按住不放(不 release)
ActionChains(driver).click_and_hold(btn).perform()
time.sleep(1)  # 观察加载效果
📋 本节练习清单
  • ✅ 练习目标:按住按钮不放 → 等待 → 断言按钮显示「加载中」
5 练习目标:按住按钮触发加载状态,验证持续按住效果

操作步骤:
① 用 driver.find_element(By.ID, "p5_btn") 定位「按住不放」按钮;
② 调用 ActionChains(driver).click_and_hold(btn).perform() 按住;
③ 等待 1 秒,断言按钮文字包含「加载中」或 p5_result 包含「按住」。

按住交互演示区
👆 按下鼠标左键不放,抬起立即释放
等待按住操作...
按住时长:— 已操作 0 次
💬 操作日志(按住实时记录)
// 请按住左侧按钮不放...

💡 提示:click_and_hold() 按住后不会自动释放,必须显式调用 release(),常用于拖拽的第一阶段。

查看参考答案(Python Selenium)
# 练习 5 参考答案 · 按住
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
import time

driver.get("https://autotest-505.pages.dev/mouse_op_practice.html")
btn = driver.find_element(By.ID, "p5_btn")
actions = ActionChains(driver)

# 按住不放(不释放)
actions.click_and_hold(btn).perform()
time.sleep(1)  # 保持按住 1 秒观察状态

assert "加载中" in btn.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. 如涉及版权问题或内容建议,请及时通过联系方式与我们沟通,我们将第一时间处理。