行者孙Python

元素操纵篇-Day16|工坊实战 Kata:施展魔法自动填写表单模拟登录

📖 知识点回顾

  1. ChromiumPage() 召唤浏览器
  2. page.get() 访问登录页
  3. 元素.input() 输入账号密码
  4. 元素.click() 点击登录按钮
  5. page.wait.eles() 等待元素加载
  6. 复选框勾选 元素.check()

💡 模拟登录套路 定位输入框 → 输入账号 → 输入密码 → (勾选记住我)→ 点击登录 → 等待登录结果,一气呵成。

⚔️ Kata 实战任务

任务需求:

  1. 导入 ChromiumPage 和 time
  2. 访问一个练习用登录页(如 https://example.com/login 等演示站,或本地测试页面)
  3. 等待账号输入框出现,输入测试账号
  4. 定位密码框,输入密码
  5. (可选)勾选 "记住我" 复选框
  6. 点击登录按钮
  7. 等待登录结果,打印提示

⚠️ 安全提醒

  • 用演示 / 练习网站测试,不要用真实银行、社交账号
  • 演示站建议: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 会变化;登录失败会提示错误信息。

🧠 思考题

  1. 模拟登录的核心步骤是哪几步?为什么每一步操作前最好先 wait 等元素?
  2. 真实项目的账号密码应该怎么保管,直接写死在代码里有哪些风险?
‹ 返回目录
🏠首页 Python 📦资源 👤关于我