📖 知识点
1. input () 输入咒
定位输入框元素后,调用 .input(文字) 往里填内容:
# 定位搜索输入框并输入
input_box = page.ele(".s_ipt")
input_box.input("Python")
# 一步到位
page.ele(".s_ipt").input("Python")
输入后,文字会出现在输入框里,就像真人打字一样。
2. 实战组合:输入关键词 + 点击搜索
from DrissionPage import ChromiumPage
page = ChromiumPage()
page.get("https://www.baidu.com")
# 1. 往搜索框输入关键词
page.ele(".s_ipt").input("DrissionPage")
# 2. 点击搜索按钮
page.ele("#su").click()
执行后,浏览器会自动搜索 "DrissionPage"。
💡 核心理解 网页自动化最常见的 "三连" 就是:定位 → 输入 → 点击。输入框用
.input(),按钮用.click(),配合起来就能完成搜索、登录、提交等操作。
3. input () 补充特性
- 会自动聚焦该输入框,模拟真人输入
- 支持中文、英文、数字、符号
- 如果输入框有默认值,
.input()默认是追加还是替换?—— 默认会清空并填入新内容(安全)
⚠️ 易错提醒
- 输入前确认定位到的是输入框,否则可能报错或没效果
- 输入后通常需要配合
.click()触发后续动作- 有的输入框需要点击一下才能输入,
.input()一般会自动聚焦处理
⚔️ Kata 实战任务
任务需求:
- 导入 ChromiumPage,访问百度
- 定位搜索输入框
.s_ipt - 使用
.input()输入关键词Python - 定位搜索按钮
#su并点击 - 观察浏览器是否完成了搜索
参考代码
from DrissionPage import ChromiumPage
page = ChromiumPage()
page.get("https://www.baidu.com")
# 文字灌注咒:往搜索框输入关键词
search_input = page.ele(".s_ipt")
search_input.input("Python")
print("✅ 已向搜索框输入:Python")
# 指尖触碰咒:点击搜索按钮
page.ele("#su").click()
print("🔍 已点击搜索按钮,正在执行搜索……")
运行输出:
✅ 已向搜索框输入:Python
🔍 已点击搜索按钮,正在执行搜索……
💡 观察:浏览器窗口会自动打开并完成搜索,地址栏 URL 会变成带关键词的搜索结果地址,页面标题会变成 "Python_百度搜索" 之类的。
🧠 思考题
- 网页自动化的 "三连" 操作是哪三步?分别用什么方法?
- 如果输入框里已有旧内容,直接
.input()会把旧内容覆盖,还是追加在后面?为什么会这样设计?