我希望能够加载网页URL并将页面上的图像保存到磁盘。使用QtWebEngine将图像保存到磁盘
对于非图像我可以简单地使用QWebEngineView.load所需的URL并触发QWebEngineProfile.downloadRequested在那里我可以指定文件路径,并接受下载。但是,图像只会在浏览器中显示并绕过downloadRequested。
它并不一定是优雅的,但页面使用身份验证和.load似乎传递信息。
我希望能够加载网页URL并将页面上的图像保存到磁盘。使用QtWebEngine将图像保存到磁盘
对于非图像我可以简单地使用QWebEngineView.load所需的URL并触发QWebEngineProfile.downloadRequested在那里我可以指定文件路径,并接受下载。但是,图像只会在浏览器中显示并绕过downloadRequested。
它并不一定是优雅的,但页面使用身份验证和.load似乎传递信息。
嗯,我现在发现了一个解决方法...在Qt 5.8中,QWebEnginePage有一个保存功能,它为当前加载的网页发出下载...所以你只需使用QWebEngineView导航到图像URL。加载然后使用QWebEnginePage.save
您可以在加载任何内容之前将QWebEngineUrlRequestInterceptor
安装到页面的配置文件中,并使用QWebEngineUrlRequestInfo::resourceType()
来查看请求的资源是否为图像。如果是图片,则可以从QWebEngineUrlRequestInfo
获取其URL并从中下载。