📖 知识点回顾
ChromiumPage()召唤浏览器page.get()访问登录页元素.input()输入账号密码元素.click()点击登录按钮page.wait.eles()等待元素加载- 复选框勾选
元素.check()
💡 模拟登录套路 定位输入框 → 输入账号 → 输入密码 → (勾选记住我)→ 点击登录 → 等待登录结果,一气呵成。
⚔️ Kata 实战任务
任务需求:
- 导入 ChromiumPage 和 time
- 访问一个练习用登录页(如 https://example.com/login 等演示站,或本地测试页面)
- 等待账号输入框出现,输入测试账号
- 定位密码框,输入密码
- (可选)勾选 "记住我" 复选框
- 点击登录按钮
- 等待登录结果,打印提示
⚠️ 安全提醒
- 用演示 / 练习网站测试,不要用真实银行、社交账号
- 演示站建议:
https://the-internet.herokuapp.com/login这类公开练习页- 正式写脚本时,账号密码应来自配置文件,不写死在代码里
参考代码
from DrissionPage import ChromiumPage
import time
page = ChromiumPage()
# 访问练习登录页(可替换为你熟悉的演示登录站)
page.get("https://the-internet.herokuapp.com/login")
print("🌐 已打开登录页:", page.title)
# 1. 等待并定位账号输入框
page.wait.eles("#username", timeout=5)
page.ele("#username").input("tomsmith") # 演示账号
print("✅ 已输入账号")
# 2. 定位密码框并输入
page.wait.eles("#password", timeout=5)
page.ele("#password").input("SuperSecretPassword!") # 演示密码
print("✅ 已输入密码")
# 3. 点击登录按钮
page.wait.eles("button", timeout=5)
page.ele("button").click()
print("🔑 已点击登录按钮")
# 4. 固定等待,观察登录结果
time.sleep(2)
print("✅ 登录操作已完成,请观察浏览器页面是否跳转")
运行输出:
🌐 已打开登录页: The Internet
✅ 已输入账号
✅ 已输入密码
🔑 已点击登录按钮
✅ 登录操作已完成,请观察浏览器页面是否跳转
💡 若登录成功,页面通常会跳转到欢迎页,标题或 URL 会变化;登录失败会提示错误信息。
🧠 思考题
- 模拟登录的核心步骤是哪几步?为什么每一步操作前最好先
wait等元素? - 真实项目的账号密码应该怎么保管,直接写死在代码里有哪些风险?
行者孙Python