元素操纵篇-Day10|选项切换咒:清空输入框、勾选复选框、单选按钮

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

📖 知识点

1. 清空输入框:clear ()

输入框里残留的旧内容,用 .clear() 一键清空:

input_box = page.ele(".s_ipt")
input_box.clear()          # 清空内容
input_box.input("新内容")  # 再填新内容

当输入框已有默认文字、想要重新填写时,先 clear 再 input,避免新旧混杂。

2. 复选框勾选:勾选 / 取消

复选框(checkbox)用 .click() 切换勾选状态,也可用 .check(True/False) 明确设置:

# 定位复选框,点击切换勾选状态
checkbox = page.ele("元素选择器")
checkbox.click()

# 更明确的写法:check(True) 勾上,check(False) 取消
checkbox.check(True)    # 勾选
checkbox.check(False)   # 取消勾选

3. 单选按钮选择:点击即可

单选按钮(radio)点击即选中,同一组单选只能选一个:

radio = page.ele("元素选择器")
radio.click()   # 点击选中该单选

完整示例

from DrissionPage import ChromiumPage

page = ChromiumPage()
page.get("目标网址")

# 1. 清空输入框,重新填写
input_box = page.ele(".some-input")
input_box.clear()
input_box.input("新数据")

# 2. 勾选复选框(同意条款之类)
agree_box = page.ele(".agree-checkbox")
agree_box.check(True)

# 3. 选择单选按钮
choice = page.ele(".male-radio")
choice.click()

💡 核心总结

  • 清空:元素.clear()
  • 勾选 / 取消复选框:元素.check(True/False) 或 .click()
  • 选单选:元素.click() 表单填写的常见套路:清空 → 输入 → 勾选 → 点击提交

⚠️ 易错提醒

  1. clear() 只对输入框有效,对复选框用 clear 无效
  2. 复选框 .check() 明确设置状态,比 .click() 更可控,不易受当前状态干扰
  3. 单选按钮用 click 选中后,同组其他选项自动取消,无需手动处理

⚔️ Kata 实战任务

任务需求:

  1. 导入 ChromiumPage,访问百度
  2. 定位搜索输入框,先 clear() 清空
  3. 重新 input() 输入关键词 Python教程
  4. 点击搜索按钮 #su
  5. (可选练习)理解 check () 勾选逻辑,用示例代码模拟复选框操作

参考代码

from DrissionPage import ChromiumPage

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

# 1. 清空输入框(防御性操作,确保干净)
search_input = page.ele(".s_ipt")
search_input.clear()
print("✅ 已清空输入框")

# 2. 重新输入关键词
search_input.input("Python教程")
print("✅ 已输入:Python教程")

# 3. 点击搜索按钮
page.ele("#su").click()
print("🔍 已点击搜索,正在搜索:Python教程")

运行输出:

✅ 已清空输入框
✅ 已输入:Python教程
🔍 已点击搜索,正在搜索:Python教程

🧠 思考题

  1. clear() 之后为什么要重新 input()?直接 input() 不清空会怎样?
  2. 复选框用 .click() 和 .check(True) 有什么区别?什么时候用 check 更安全?