📖 知识点
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 填完整路径或文件名
⚠️ 易错提醒
get_screenshot带get_前缀,别写成screenshot(两种是不同方法)- 保存前确认目录存在,否则可能保存失败
- 截图保存的是文件,之后可用图片查看软件打开,或用 Python 读取
⚔️ Kata 实战任务
任务需求:
- 导入 ChromiumPage,访问百度
- 使用
page.get_screenshot(path="baidu_page.png")整页截图 - 定位搜索按钮
#su,用元素.get_screenshot(path="su_button.png")单独截图 - 打印截图完成提示
参考代码
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 文件,用图片查看器打开就能看到刚才的画面。
🧠 思考题
page.get_screenshot()和元素.get_screenshot()截图范围有什么不同?- 整页截图能否截到 "滚动到页面下方才出现" 的内容?为什么?