找回密码
 加入
搜索
查看: 2245|回复: 13

如果保存IE图片到本地或者显示到GUI上

  [复制链接]
发表于 2009-12-9 17:59:58 | 显示全部楼层 |阅读模式
本帖最后由 fhmily 于 2009-12-10 12:58 编辑

对于一个已经打开上的网页,如果将其中的某个图像保存到本地或者显示到GUI上?

如果是先获取图像对象$obj,然后$obj.src这种方式获取的链接的方式的话,对于类似验证码图片这种的图片往往会产生变化

有什么办法可以直接获取到已经下载到本地的这个图片呢?


经过提示,搜索到方法如下,加了点小注释方便阅读
#include <IE.au3>
$title=""//定义需要绑定的窗口标题
$oIE=_IEAttach($title)
$oImg = _IEImgGetCollection ($oIE, 0)//获取索引0的图片对象(第一张)
$oPic = $oIE.Document.body.createControlRange()
$oPic.Add($oImg)//将图片添加到新创建的集合中(ControlRange)
$oPic.execCommand("Copy")//将集合复制到剪切板
$bmp = ClipGet()//获取剪切板内容,以下省略

评分

参与人数 1金钱 +10 收起 理由
pusofalse + 10 感谢主动修改帖子分类为[已解决]。

查看全部评分

发表于 2009-12-9 18:13:29 | 显示全部楼层
本帖最后由 水木子 于 2009-12-9 18:18 编辑

可以用InetGet下载图片,再用GUICtrlCreatePic,帮忙文档有例子!
 楼主| 发表于 2009-12-9 18:17:03 | 显示全部楼层
InetGet确实可以,不过那样和我顶楼说的就是一会事了。先获取链接,然后创建新页面或者下载,对于有些网页这是一种可行的办法。

不过对于验证码图片之类的还是没什么意义,你下载的图片和已经显示出的图片就不一样了
 楼主| 发表于 2009-12-9 18:18:50 | 显示全部楼层
可能我说的不是很清楚

对于一个已经读取完的网页,页面上的图片其实已经下载到了本地。我就是希望能不再通过网络,而是直接在本地获取这些图片。
发表于 2009-12-9 18:20:33 | 显示全部楼层
如果是验证码,就用截图试试!(我只是瞎想)
 楼主| 发表于 2009-12-9 18:23:22 | 显示全部楼层
嗯,截图也是一种办法,多谢提醒

不过我本身的目的就是不显示原网页,这样的话也就没办法截图了。。。
发表于 2009-12-9 18:34:33 | 显示全部楼层
如果网页已经用ie控件打开,那图片就已经缓存到ie临时文件夹里了,你只要获取到图片名,然后load临时文件夹里的图片就可以了
 楼主| 发表于 2009-12-9 18:44:06 | 显示全部楼层
如果网页已经用ie控件打开,那图片就已经缓存到ie临时文件夹里了,你只要获取到图片名,然后load临时文件夹 ...
koysgl 发表于 2009-12-9 18:34



嗯,可否麻烦详细说明一下?

我有以下几个疑问:

1、因为ie临时文件夹是可以更改位置的,如何取到这个位置?
2、如果网页设置的是不使用缓存,是否还会在临时文件夹中留下文件
3、网页上面的文件获取链接还比较方便,但是获取文件名需要什么方法呢?甚至于不同网站的文件名也有可能重复,单纯靠文件名如何可靠的获取到对应的图片呢?
发表于 2009-12-9 21:27:57 | 显示全部楼层
关注中!!!!!
 楼主| 发表于 2009-12-9 22:10:51 | 显示全部楼层
已经用C++解决了IE临时文件的读取、比对问题

不过临时文件数量太多,比对花费时间太大,另外有些文件在临时文件中是不予以保存的

继续求好的方法
发表于 2009-12-9 22:24:52 | 显示全部楼层
我可以肯定的是楼主发帖之前没有搜索过论坛

论坛有把验证码显示到gui上的帖子
 楼主| 发表于 2009-12-10 09:40:43 | 显示全部楼层
我可以肯定的是楼主发帖之前没有搜索过论坛

论坛有把验证码显示到gui上的帖子
sxd 发表于 2009-12-9 22:24


抱歉的说一句,我注册了9个月却只发了30多个帖子的最大原因就是我能搜索出来的答案就绝对不发帖。。。至少在发这个帖子之前我搜了1个小时的帖子

首先单纯的验证码显示到GUI上的方法我知道2种,其一是是我顶楼我提到的链接方式,另外一种也可以直接创建winhttp.winhttprequest.5.1对象后,直接get方法获取图片文件流后保存

但是这样得到的验证码和已打开网页中的session不同,图片也不同
发表于 2009-12-10 10:35:22 | 显示全部楼层
那说明我关于你没有搜索过论坛的猜测是错误的
只能说你没搜索到正确的答案

关于session确实是这样 论坛上好像有2种方法一种确实是无关session的 就是获取图片对象后找到临时目录的位置显示出来
因为我在很久很久以前弄过 所以有点印象
烦请你再仔细找找
 楼主| 发表于 2009-12-10 12:51:02 | 显示全部楼层
那说明我关于你没有搜索过论坛的猜测是错误的
只能说你没搜索到正确的答案

关于session确实是这样 论坛 ...
sxd 发表于 2009-12-10 10:35


多谢提示,google全站搜索终于找到

方法追加在主楼,方便大家查看
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-6-9 07:54 , Processed in 0.082465 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表