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

Selenium获取图片src返回Base64而非URL该如何解决

Selenium谷歌图片批量自动下载src属性异常处理方案

我基于Selenium开发谷歌图片批量自动下载工具时,发现网上公开的多数实现方案要么运行效率极低,要么无法正常跑通。

问题描述

核心异常表现为:调用element.get_attribute('src')提取图片资源地址时,接口返回的是图片的Base64编码,但在Chrome开发者工具中用对应XPath定位元素时,该img标签的src属性展示为正常的HTTP链接。

初始代码

for i in range(n):
    element = self.wait.until(
        EC.presence_of_element_located((By.XPATH, '//*[@id="Sva75c"]/div/div/div[3]/div[2]/c-wiz/div/div[1]/div[1]/div[2]/div/a/img')))
    src = element.get_attribute('src')
    print(element)
    self.download_file(src,keyword)

排查与最终实现

  • 优先尝试了Base64转存方案:没有走常规的requests请求URL下载的路径,而是直接将拿到的Base64编码转为图片格式存储,实际运行速度比URL下载方案快很多。
  • 根因定位:该异常由谷歌图片页面的动态脚本逻辑导致,和代码本身逻辑无关,部分场景下src属性会正常返回URL,仅适配Base64的代码会直接报错。
  • 最终兼容方案:编写两套分支处理逻辑,分别适配src返回URL和返回Base64的两种场景,覆盖所有动态渲染情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 23:36:06