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

如何按顺序保存图片?附Selenium代码示例

按顺序保存图片的修正方案

你的代码存在几处问题,以下是修正后的完整实现,能按image01.jpg、image02.jpg的格式顺序保存图片:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
import urllib.request

# 初始化Chrome驱动
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
# 替换为你要爬取图片的目标网页URL
driver.get("https://example.com")

# 获取所有带src属性的img元素(使用find_elements复数方法,修正By.XPATH的空格错误)
elements = driver.find_elements(By.XPATH, "//img[@src]")

# 遍历元素并按顺序保存图片
for index, element in enumerate(elements, start=1):
    # 获取图片src属性
    img_src = element.get_attribute("src")
    # 生成带两位数序号的文件名
    filename = f"C:\\image\\image{index:02d}.jpg"
    # 下载并保存图片
    urllib.request.urlretrieve(img_src, filename)

# 关闭浏览器
driver.quit()

关键修改说明:

  • 补全依赖导入:添加import urllib.request,否则无法调用urlretrieve方法
  • 完善驱动初始化:补充Chrome驱动启动代码,确保浏览器能正常访问目标网页
  • 修正元素定位:将driver.find_element改为driver.find_elements(复数)以获取所有图片元素;同时修正By. XPATH的空格错误为By.XPATH
  • 统一变量名:循环中使用element变量获取属性,避免原代码中element和imagem的变量名混乱
  • 生成有序文件名:用enumerate从1开始计数,通过{index:02d}格式化生成两位数序号,保证文件名按image01、image02的格式命名,且不会覆盖已有文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 11:50:23