ie 操作中,如何保存动态图【哎,锁掉吧,解决不了了看来是】
本帖最后由 fenhanxue 于 2015-11-12 03:18 编辑如这样的验证码,是动态图的,应该怎么保存?
https://captcha.yhd.com/public/getgif.do?
我这样保存下来的是静态的图片,应该怎么改?#include<IE.au3>
#Include <Clipboard.au3>
#Include <ScreenCapture.au3>
$url = 'https://captcha.yhd.com/public/getgif.do?'
$oIE = _iecreate($url)
$oImgs = _IEImgGetCollection ($oIE)
For $oImg In $oImgs
If StringInStr($oImg.nameprop,'getgif.do?') Then
$oPic = $oIE.Document.body.createControlRange()
$oPic.Add($oImg)
$oPic.execCommand("Copy")
$img = ClipGet()
_ClipBoard_Open (0)
Local $hMemory = _ClipBoard_GetDataEx ($CF_BITMAP)
_ClipBoard_Close ()
_ScreenCapture_SaveImage ('1.gif', $hMemory)
EndIf
Next 如果仅仅是要保存,很简单呀,图像上右键另存为即可。 如果你想破验证码,这就不在我的能力范围内了。 右键这个大家都知道的。。。我想知道,如何用软件,自动把图片保存下来。。。
只是保存下来,验证码识别这个是下一步的问题,不在提问范围内。。。 回复 2# xlj310
如何把动态图 用au3 自动保存到本地文件1.gif
PS:不要模拟鼠标操作。。。 你那是截取区域的,像截图一样,能动态么。
$url="https://captcha.yhd.com/public/getgif.do?"
$xmlhttp=ObjCreate("msxml2.xmlhttp")
If IsObj($xmlhttp) Then
$xmlhttp.open("GET",$url,True)
$xmlhttp.send
While $xmlhttp.readystate<>4
Sleep(100)
WEnd
If $xmlhttp.status=200 Then
$tmp=StringRegExp($xmlhttp.getresponseheader("Content-Type"),"(?is)image\/(.+)",3)
Msgbox(0,'',$tmp)
If IsArray($tmp) Then
$file=FileOpen(@ScriptDir&"\temp."&$tmp,2+8+16)
FileWrite($file,$xmlhttp.responsebody)
FileClose($file)
ShellExecute(@ScriptDir&"\temp."&$tmp)
EndIf
EndIf
EndIf 回复 5# lahan
获取到动态截图后, 我想要继续用#include <IE.au3>的一些函数继续进行网页操作,所以想请教,
$oIE = _IECreate('https://captcha.yhd.com/public/getgif.do?')
;这时候 $oIE 不是会显示一张确定的图片,那如何把这张确定的动态图保存下来?
;(也就是 _IECreate 后显示的是什么,就保存什么,不要保存成别的图)
页:
[1]