行者孙Python

元素操纵篇-Day11|页面挪移咒:页面滚动,滚动到指定元素位置

📖 知识点

1. 滚动到底部 / 顶部

用 page.scroll.to_bottom() / page.scroll.to_top() 快速滚动:

# 滚动到页面底部
page.scroll.to_bottom()
# 滚动回页面顶部
page.scroll.to_top()

适合:触发 "加载更多"、"滚动到底自动分页加载" 的动态网页。

2. 滚动到某个元素位置

想让某个元素出现在视野内,用 元素.scroll.to_see():

# 定位一个元素,滚动到它可见
target = page.ele(".target-element")
target.scroll.to_see()

更适合:想操作的元素不在首屏时,先滚动到它,再点击 / 输入。

3. 按像素滚动(精细控制)

page.scroll.down(像素) / page.scroll.up(像素) 精确滚动:

page.scroll.down(500)   # 向下滚500像素
page.scroll.up(200)     # 向上滚200像素

💡 三招总结

场景咒语
滚到底 / 顶page.scroll.to_bottom() / to_top()
滚到某元素可见元素.scroll.to_see()
精确按像素滚page.scroll.down(px) / up(px)

⚠️ 易错提醒

  1. 滚动到底后页面可能触发动态加载,可稍等再继续操作
  2. scroll.to_see() 是元素的方法,不是 page 的,别写错
  3. 滚动不会改变页面 URL,它是页面内部视图移动

⚔️ Kata 实战任务

任务需求:

  1. 导入 ChromiumPage,访问 https://www.baidu.com
  2. 使用 page.scroll.to_bottom() 滚动到页面底部,打印提示
  3. 使用 page.scroll.to_top() 滚回顶部,打印提示
  4. (可选)用 page.scroll.down(300) 演示按像素滚动

参考代码

from DrissionPage import ChromiumPage

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

# 页面挪移咒:滚动到底部
page.scroll.to_bottom()
print("⬇️ 已滚动到页面底部")

# 滚动回顶部
page.scroll.to_top()
print("⬆️ 已滚动回页面顶部")

# 按像素精细滚动
page.scroll.down(300)
print("🔄 向下滚动300像素,操作完成")

运行输出:

⬇️ 已滚动到页面底部
⬆️ 已滚动回页面顶部
🔄 向下滚动300像素,操作完成

💡 观察:浏览器窗口里页面会快速滚到底、再滚回顶,你可以直观看到滚动效果。

🧠 思考题

  1. page.scroll.to_bottom() 和 元素.scroll.to_see() 的使用场景分别是什么?什么时候该用哪个?
  2. 动态加载网页(滑到底自动出更多内容)通常适合用哪种滚动方式?为什么?
‹ 返回目录
🏠首页 Python 📦资源 👤关于我