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