You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Selenium WebDriver(Python)截取指定元素而非整页截图?

Python中用Selenium直接截取指定图片元素的截图

你不需要先截整页再用PIL裁剪,Selenium的WebElement对象本身就支持直接截图,这是更高效的方案:

核心实现步骤

  • 定位到目标图片元素
  • 调用元素的screenshot()方法直接保存截图

代码示例

from selenium import webdriver
from selenium.webdriver.common.by import By

# 初始化浏览器驱动(以Chrome为例)
driver = webdriver.Chrome()
driver.get("目标网页URL")

# 定位到目标图片元素(这里用XPATH举例,可根据实际情况改用ID、CSS选择器等)
target_img = driver.find_element(By.XPATH, '//img[@class="target-image-class"]')

# 如果元素不在可视区域,先滚动到元素位置
driver.execute_script("arguments[0].scrollIntoView({block: 'center'});", target_img)

# 直接截取该图片元素并保存
target_img.screenshot("captured_image.png")

# 关闭驱动
driver.quit()

说明

  • screenshot()方法会自动处理元素的可见性,只要元素存在且可交互,就能精准截取元素区域,无需手动计算坐标和裁剪
  • 如果遇到元素不可见的情况,用scrollIntoView()滚动到元素位置即可,参数{block: 'center'}确保元素居中显示,避免被页面控件遮挡

内容的提问来源于stack exchange,提问作者Keyvan Abedini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 14:20:27