如何下载带OCR文本白色高亮效果的Google Lens响应图片?
解决Google Lens带高亮效果图片的下载及批量处理问题
单张图片下载方法
- 浏览器区域截图:
用Chrome/Edge等浏览器自带的区域截图功能(快捷键Ctrl+Shift+A),框选Google Lens显示的带高亮效果的完整图片区域,直接保存截图即可。这种方式直接捕获页面渲染后的视觉效果,无需查找底层资源。 - 控制台提取画布内容:
- 按F12打开开发者工具,切换到
Console标签页; - 输入以下代码并回车,自动下载渲染后的高亮图片:
const canvas = document.querySelector('canvas'); if (canvas) { const link = document.createElement('a'); link.href = canvas.toDataURL('image/png'); link.download = 'lens-highlighted.png'; link.click(); } else { console.log('未找到渲染画布,请确认Lens已加载完高亮效果'); }
- 按F12打开开发者工具,切换到
批量处理方案(50-100张图片)
- Puppeteer自动化脚本:
用无头浏览器模拟人工操作,批量完成上传、渲染、下载流程:- 先安装依赖:
npm install puppeteer; - 编写脚本示例:
const puppeteer = require('puppeteer'); const fs = require('fs'); const path = require('path'); async function batchProcessImages(imageList) { const browser = await puppeteer.launch({ headless: false }); const page = await browser.newPage(); await page.goto('https://lens.google.com/'); for (const imgPath of imageList) { // 上传图片 const fileInput = await page.waitForSelector('input[type="file"]'); await fileInput.uploadFile(imgPath); // 等待渲染完成(根据网络情况调整等待时间) await page.waitForTimeout(3000); // 提取并保存高亮图片 const base64Data = await page.evaluate(() => { const canvas = document.querySelector('canvas'); return canvas ? canvas.toDataURL('image/png').split(',')[1] : null; }); if (base64Data) { const saveName = `${path.basename(imgPath, path.extname(imgPath))}_highlighted.png`; fs.writeFileSync(saveName, Buffer.from(base64Data, 'base64')); } // 返回上传页面 await page.goto('https://lens.google.com/'); } await browser.close(); } // 替换为你的本地图片路径数组 const targetImages = ['./images/img1.jpg', './images/img2.png']; batchProcessImages(targetImages); - 运行脚本:
node your-script-name.js;
注意:需根据实际网络速度调整等待时间,避免因渲染未完成导致下载失败。
- 先安装依赖:
- AutoHotkey宏配合截图工具:
非技术用户可使用AutoHotkey编写简单宏命令,自动完成以下步骤:- 依次打开本地图片并上传到Google Lens;
- 等待页面渲染后,触发截图工具的区域截图功能;
- 将截图自动保存到指定文件夹。
这种方式无需编写复杂代码,通过可视化操作录制即可实现批量处理。
内容的提问来源于stack exchange,提问作者abo jarba
相关产品推荐
相关产品推荐

