📖 知识点
1. 空间穿梭三咒
| 魔法咒语 | 作用 | 生活比喻 |
|---|---|---|
page.get(网址) | 去往新地点,访问网址 | 瞬间移动到新城市 |
page.back() | 后退一页,回到上一步 | 返回上一条走过的路 |
page.forward() | 前进一页(后退后再前进) | 重新走向刚才那条路 |
page.refresh() | 刷新当前页 | 把眼前景象重新刷新一遍 |
💡 理解要点
back()和forward()依赖浏览器的访问历史。 只有先get()访问过多个页面,back 才能退回去,forward 才能前进回来。
2. 完整穿梭演示
from DrissionPage import ChromiumPage
page = ChromiumPage()
# 第一站:百度
page.get("https://www.baidu.com")
print("当前:", page.title)
# 第二站:换个地方
page.get("https://www.bing.com")
print("当前:", page.title)
# 后退:回到百度
page.back()
print("后退后:", page.title)
# 前进:再去必应
page.forward()
print("前进后:", page.title)
# 刷新当前页
page.refresh()
print("刷新后:", page.title)
⚠️ 易错提醒
- 执行
back()时如果没有可后退的历史,什么都不会发生,不会报错refresh()刷新后,页面可能短暂重新加载,属正常现象
⚔️ Kata 实战任务
任务需求:
- 导入 ChromiumPage,创建 Page 对象
- 访问
https://www.baidu.com,打印标题 - 访问
https://www.163.com,打印标题 - 执行 back () 后退,打印标题,应回到百度
- 执行 forward () 前进,打印标题,应回到网易
- 执行 refresh () 刷新当前页
参考代码
from DrissionPage import ChromiumPage
page = ChromiumPage()
# 空间穿梭:先访问两个不同的网页
page.get("https://www.baidu.com")
print("🌐 访问百度,标题:", page.title)
page.get("https://www.163.com")
print("🌐 访问网易,标题:", page.title)
# 后退咒:返回上一页
page.back()
print("⬅️ 后退到:", page.title)
# 前进咒:回到下一页
page.forward()
print("➡️ 前进到:", page.title)
# 刷新咒:刷新当前页
page.refresh()
print("🔄 刷新完成,当前标题:", page.title)
运行输出(标题以实际为准):
🌐 访问百度,标题: 百度一下,你就知道
🌐 访问网易,标题: 网易
⬅️ 后退到: 百度一下,你就知道
➡️ 前进到: 网易
🔄 刷新完成,当前标题: 网易
🧠 思考题
- 如果一上来就直接执行
page.back(),会发生什么?为什么? page.get()和page.refresh()都是重新加载页面,两者本质区别是什么?
行者孙Python