为什么这个网址中的验证码图片不能获取?
本帖最后由 老榆头 于 2009-10-30 21:24 编辑详见二楼代码
利用论坛上的好像是BOB的一段代码
我想首先获取图片在自己机器上的位置
代码中给了三个网址,其中前两个可以
第三个获取不到,请问原因在哪里,如何解决?
谢谢 本帖最后由 老榆头 于 2009-10-30 15:32 编辑
#include <IE.au3>
Dim $i=0
;测试1 --- 可以获取
;$url="http://service.cheshi.com/user/register.php" ;含有验证码的页面
;$name="validate.php" ;验证码图片名称
;测试2 --- 可以获取
;$url="http://www.bridal100.com/zhuce/index.asp" ;含有验证码的页面
;$name="safecode.asp" ;验证码图片名称
;测试3 --- 不可以
$url="http://login.jyb.cn/regapply.php" ;含有验证码的页面
$name="image.php" ;验证码图片名称
$oIE = _IECreate ($url,0,1,0)
sleep(5000)
$oImgs = _IEImgGetCollection ($oIE)
For $oImg In $oImgs
;ConsoleWrite("name:" & $oImg.nameProp & @CRLF)
$i+=1
If $oImg.nameprop=$name Then
$oPic = $oIE.Document.body.createControlRange()
$oPic.Add($oImg)
$oPic.execCommand("Copy")
$img = ClipGet()
EndIf
Next
ConsoleWrite("图片位置:" & $img & @CRLF)
代码执行之后
我可以通过ctrl+V将图片粘贴到画图中
但图片位置却写不出
#include <IE.au3>
#Include <Clipboard.au3>
#Include <ScreenCapture.au3>
Dim $i=0
$url="http://login.jyb.cn/regapply.php" ;含有验证码的页面
$name="image.php"
$oIE = _IECreate ($url,0,1,0)
sleep(5000)
$oImgs = _IEImgGetCollection ($oIE)
For $oImg In $oImgs
$i+=1
If $oImg.nameprop=$name 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 (@ScriptDir & "\test.bmp", $hMemory)
EndIf
Next
太棒了!可以呀:face (33):
是的,图片可以ctrl+v,那就说明已经在剪贴板中了
就可以把它保存起来
只是从来没有这么用过,也没有想到
谢谢管理员,谢谢!
-----------------------
就是,还有一点不明白:
为什么有的页面,可以,有的却不可以? 涉及到内存里的东西,此站点验证码直接生成在内存中,地址为0xC8051000 这种形势 哦,也就是说,这是由验证码的生成程序决定的,是不是这意思
恐怕要写过验证码,可能会深入了解一些
再次感谢!
页:
[1]