元素操纵篇-Day15|光影定格咒:页面截图、单独截取元素画面

0 次阅读 2026-10-20 16:29

📖 知识点

1. 整页截图:page.get_screenshot ()

把整个页面(含视口外的部分)拍成图片保存:

# 整页截图,保存到指定路径
page.get_screenshot(path="page.png")

保存的图片默认是整页完整截图(含滚动到下方才能看到的内容),非常实用。

2. 单个元素截图:元素.get_screenshot ()

只截取某个元素的画面,单独保存:

# 定位元素并截图
ele = page.ele("#su")
ele.get_screenshot(path="button.png")

适合只保留关键区域,比如只截某个按钮、某张图片、某个图表。

3. 指定保存路径与格式

page.get_screenshot(path="my_page.png")

扩展名写 .png 或 .jpg,Python 会自动按后缀生成对应格式。

💡 三招总结

场景咒语
整页截图page.get_screenshot(path="文件.png")
元素截图元素.get_screenshot(path="文件.png")
自定义路径path 填完整路径或文件名

⚠️ 易错提醒

  1. get_screenshot 带 get_ 前缀,别写成 screenshot(两种是不同方法)
  2. 保存前确认目录存在,否则可能保存失败
  3. 截图保存的是文件,之后可用图片查看软件打开,或用 Python 读取

⚔️ Kata 实战任务

任务需求:

  1. 导入 ChromiumPage,访问百度
  2. 使用 page.get_screenshot(path="baidu_page.png") 整页截图
  3. 定位搜索按钮 #su,用 元素.get_screenshot(path="su_button.png") 单独截图
  4. 打印截图完成提示

参考代码

from DrissionPage import ChromiumPage

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

# 光影定格咒1:整页截图
page.get_screenshot(path="baidu_page.png")
print("📸 已保存整页截图:baidu_page.png")

# 光影定格咒2:元素截图
search_btn = page.ele("#su")
search_btn.get_screenshot(path="su_button.png")
print("📸 已保存按钮截图:su_button.png")

运行输出:

📸 已保存整页截图:baidu_page.png
📸 已保存按钮截图:su_button.png

💡 完成后,去代码所在目录找这两个 png 文件,用图片查看器打开就能看到刚才的画面。

🧠 思考题

  1. page.get_screenshot() 和 元素.get_screenshot() 截图范围有什么不同?
  2. 整页截图能否截到 "滚动到页面下方才出现" 的内容?为什么?