元素操纵篇-Day8|指尖触碰咒:click 点击魔法,点击按钮与超链接

2 次阅读 2026-10-20 14:30

📖 知识点

1. click () 点击咒

定位元素后,调用 .click() 就能模拟点击它:

# 定位按钮并点击
btn = page.ele("#su")
btn.click()

# 也可以一步到位
page.ele("#su").click()

点击后,浏览器会像真人点击一样触发对应的网页行为(跳转、提交、弹窗等)。

2. 点击超链接跳转

点击一个 <a> 链接,浏览器会跳转到该链接指向的页面:

# 点击第一个链接,跳转到对应页面
page.ele("a").click()

💡 核心理解

  • .click() 模拟的是鼠标左键单击,DrissionPage 会自动模拟真实点击,行为接近真人
  • 点击后如果需要等页面加载,配合后续学习的 wait 方法使用(Day12)

3. 点击后发生了什么?

点击对象触发结果
按钮 button触发提交、搜索、弹窗等逻辑
超链接 a跳转到 href 指向的页面
复选框 / 单选改变勾选状态(Day10 学习)

完整示例

from DrissionPage import ChromiumPage

page = ChromiumPage()
page.get("https://www.baidu.com")

# 点击咒:定位搜索按钮并点击
search_btn = page.ele("#su")
print("点击前当前页:", page.title)
search_btn.click()
print("点击后当前页:", page.title)

⚠️ 易错提醒

  1. 点击前务必确认元素已经定位到(不为 None),否则报错
  2. 点击跳转类链接后,页面 URL 和标题会变化,可用 page.url 验证是否跳转成功
  3. 某些元素需要等待加载完成才能点击(后续 wait 解决)

⚔️ Kata 实战任务

任务需求:

  1. 导入 ChromiumPage,访问百度
  2. 使用 CSS 选择器定位搜索按钮 #su,打印点击前的页面标题
  3. 调用 .click() 点击按钮
  4. 打印点击后的页面标题,观察变化

参考代码

from DrissionPage import ChromiumPage

page = ChromiumPage()
page.get("https://www.baidu.com")

# 定位搜索按钮
search_btn = page.ele("#su")
print("🔘 定位到搜索按钮:", search_btn.attr("value"))

# 施展指尖触碰咒
print("👆 点击前页面标题:", page.title)
search_btn.click()
print("👆 点击后页面标题:", page.title)

运行输出(示意):

🔘 定位到搜索按钮: 百度一下
👆 点击前页面标题: 百度一下,你就知道
👆 点击后页面标题: 百度一下,你就知道

💡 说明:空输入点击百度搜索按钮,通常停留在原页或跳到百度首页,标题可能不变。更明显的演示是点击一个超链接(见思考题 2),跳转后标题会变化。

🧠 思考题

  1. .click() 模拟的是鼠标的哪个操作?点击超链接和点击按钮触发的效果有什么区别?
  2. 改用点击一个超链接(如 page.ele("a").click()),观察页面标题和 url 是否变化,为什么?