Что нового

Сохранить картинку капчи

DanSaratov

Новичок
Сообщения
112
Репутация
1
По одной ссылке генерируются разные капчи.
Вот пример элемента с капчёй:
Код:
<input class="securityCode-text" id="secImg" style="background-image:url(/secure/?k=6091208611917416961;m=ureg;tm=1439037771)" title="Обновить код безопасности" readonly="" type="text">
Так вот, как сохранить эту картинку в файл?
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
OffTopic:
Как же всё таки просто это делается через iMacros...
Код:
VERSION BUILD=8881205 RECORDER=FX
TAB T=1
URL GOTO=http://example.org/registration.html
WAIT SECONDS=2
ONDOWNLOAD FOLDER=C:\imacros FILE=capcha.png WAIT=YES
TAG POS=1 TYPE=INPUT ATTR=ID:secImg CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT
WAIT SECONDS=1
TAB OPEN
TAB T=2
URL GOTO=http://antigate.com/imacros.html
FRAME F=0
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:http://antigate.com/in.php ATTR=NAME:key CONTENT=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
TAG POS=1 TYPE=INPUT:FILE FORM=ACTION:http://antigate.com/in.php ATTR=NAME:file CONTENT=C:\imacros\capcha.png
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:http://antigate.com/in.php ATTR=*
WAIT SECONDS=1
SET !EXTRACT_TEST_POPUP NO
TAG POS=1 TYPE=SPAN ATTR=TXT:* EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
TAB T=1
FRAME F=0
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:capcha_inp CONTENT={{!VAR1}}
FILEDELETE NAME="C:\\imacros\\capcha.png"
 
Автор
DanSaratov

DanSaratov

Новичок
Сообщения
112
Репутация
1
alex33 сказал(а):
OffTopic:
Как же всё таки просто это делается через iMacros...
Код:
VERSION BUILD=8881205 RECORDER=FX
TAB T=1
URL GOTO=http://example.org/registration.html
WAIT SECONDS=2
ONDOWNLOAD FOLDER=C:\imacros FILE=capcha.png WAIT=YES
TAG POS=1 TYPE=INPUT ATTR=ID:secImg CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT
WAIT SECONDS=1
TAB OPEN
TAB T=2
URL GOTO=http://antigate.com/imacros.html
FRAME F=0
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:http://antigate.com/in.php ATTR=NAME:key CONTENT=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
TAG POS=1 TYPE=INPUT:FILE FORM=ACTION:http://antigate.com/in.php ATTR=NAME:file CONTENT=C:\imacros\capcha.png
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:http://antigate.com/in.php ATTR=*
WAIT SECONDS=1
SET !EXTRACT_TEST_POPUP NO
TAG POS=1 TYPE=SPAN ATTR=TXT:* EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
TAB T=1
FRAME F=0
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:capcha_inp CONTENT={{!VAR1}}
FILEDELETE NAME="C:\\imacros\\capcha.png"
А на autoit'e это вообще возможно? (Не путём скрина)
 
Автор
DanSaratov

DanSaratov

Новичок
Сообщения
112
Репутация
1
Пробую так:
Код:
$r = _IECopyObjById($oie2, "secImg")
$tt = _ScreenCapture(@ScriptDir & '\11.jpg')
Func _IECopyObjById(ByRef $o_Object, $s_ID)
    Local $oCtlRange
    If IsObj($o_Object.document.getElementById($s_ID)) Then
        $oCtlRange = $o_Object.document.body.createControlRange()
        $oCtlRange.add($o_Object.document.getElementById($s_ID))
        $oCtlRange.execCommand('Copy')
        Return SetError(0)
    Else
        Return SetError(1)
    EndIf
EndFunc

Func _ScreenCapture($sFile)
    Local $Result, $Timer, $hImage, $hBitmap = 0
    $Timer = TimerInit()
    While TimerDiff($Timer) < 1000
        _ClipBoard_Open(0)
        $hBitmap = _ClipBoard_GetDataEx($CF_BITMAP)
        _ClipBoard_Close()
        If $hBitmap Then
            ExitLoop
        EndIf
        Sleep(10)
    WEnd
    If Not $hBitmap Then
        Return 0
    EndIf
    _GDIPlus_Startup()
    $hImage = _GDIPlus_BitmapCreateFromHBITMAP($hBitmap)
    $Result = _GDIPlus_ImageSaveToFile($hImage, $sFile)
    _GDIPlus_ImageDispose($hImage)
    _WinAPI_DeleteObject ($hBitmap)
    _GDIPlus_Shutdown()
    ;Return $Result
EndFunc   ;==>_ScreenCapture

Ничего не выходит.
Вот страница с капчёй: http://www.ucoz.ru/register2
 
Верх