使用 selenium 保存页面中的图像

Using selenium to save images from page(使用 selenium 保存页面中的图像)
本文介绍了使用 selenium 保存页面中的图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 Selenium &Google Chrome 驱动程序以编程方式打开页面.在每个页面上都有一个动态生成的图像,我想下载它.目前,我正在等待页面完成加载,然后我获取图像 URL 并使用 System.Net.WebClient 下载它.

I'm using Selenium & Google Chrome Driver to open pages programatically. On each page there is a dynamically generated image which I'd like to download. At the moment, I'm waiting for the page to finish loading, then I grab the image URL and download it using System.Net.WebClient.

这很好,除了我下载了两次图像 - 一次在浏览器中,一次在 WebClient 中.问题是每张图片大约 15MB,下载两次加起来很快.

That works fine except I'm downloading the images twice - once in the browser, once with WebClient. The problem is that each image is roughly 15MB and downloading twice adds up quickly.

那么 - 是否可以直接从谷歌浏览器获取图像?

So - is it possible to grab the image straight from Google Chrome?

推荐答案

您可以使用 this 技术.它运行一个名为Block Image"的 Google Chrome 扩展程序.这样就不会使用 chrome 下载图像,只需使用其 URL & 正常下载图像即可.System.Net.WebClient.

You can block images from being downloaded in Google Chrome using this technique. It runs a Google Chrome extension called "Block Image". This way the image won't be downloaded using chrome, and it's just a matter of downloading the image as normal using its URL & System.Net.WebClient.

这篇关于使用 selenium 保存页面中的图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

DispatcherQueue null when trying to update Ui property in ViewModel(尝试更新ViewModel中的Ui属性时DispatcherQueue为空)
Drawing over all windows on multiple monitors(在多个监视器上绘制所有窗口)
Programmatically show the desktop(以编程方式显示桌面)
c# Generic Setlt;Tgt; implementation to access objects by type(按类型访问对象的C#泛型集实现)
InvalidOperationException When using Context Injection in ASP.Net Core(在ASP.NET核心中使用上下文注入时发生InvalidOperationException)
LINQ many-to-many relationship, how to write a correct WHERE clause?(LINQ多对多关系,如何写一个正确的WHERE子句?)