Viktor1703
AutoIT Гуру
- Сообщения
- 1,535
- Репутация
- 413
Как вернуть текст с кнопки? получилось только вернуть весь текст между тегом <body></body>
AutoIt:
Html:
Добавлено:
Спасибо, разобрался.
AutoIt:
Код:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$hForm = GUICreate("JavaSript and AutoIt", 800, 600, -1, -1, $DS_MODALFRAME)
$HTML = WebCreate(0, 0, 800, 600)
WebSetCode($HTML, WebOpenHTML(@ScriptDir & "\AutoIt.html"))
WebSetBkColor($HTML, 0xECE9D8)
GUISetState()
MsgBox(0, '', WebCtrlGetData($HTML, 1))
While 1
Switch WebGetMsg($HTML)
Case 1
MsgBox(0, "JavaScript", "Кнопка 1")
Case 2
MsgBox(0, "JavaScript", "Кнопка 2")
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func WebCreate($Left, $Top, $Width, $Height)
Local $hObj = ObjCreate("Shell.Explorer.2")
GUICtrlCreateObj($hObj, $Left, $Top, $Width, $Height)
$hObj.navigate("about:blank", 0, "", "", "")
Return $hObj
EndFunc
Func WebGetMsg($hObj)
If Not IsObj($hObj) Then
Return 0
Else
Return $hObj.document.title()
EndIf
EndFunc
Func WebCtrlGetData($hObj, $iCtrl)
Return $hObj.document.body.outerHTML
EndFunc
Func WebSetCode($hObj, $Html)
If Not IsObj($hObj) Then
Return 0
Else
$hObj.document.Write($Html)
$hObj.document.close()
Return 1
EndIf
EndFunc
Func WebGetCode($hObj)
If Not IsObj($hObj) Then
Return 0
Else
Return $hObj.document.documentElement.outerHTML()
EndIf
EndFunc
Func WebSetBkColor($hObj, $Color)
If Not IsObj($hObj) Then
Return 0
Else
$hObj.document.bgColor = "#" & Hex($Color, 6)
Return 1
EndIf
EndFunc
Func WebGetBkColor($hObj)
If Not IsObj($hObj) Then
Return 0
Else
Return Binary("0x" & StringTrimLeft($hObj.document.bgColor(), 1))
EndIf
EndFunc
Func WebOpenHTML($iFile)
$hFile = FileOpen($iFile)
$hRead = FileRead($hFile)
FileClose($hFile)
Return $hRead
EndFunc
Html:
Код:
<html>
<head>
<meta http-equiv=;Content-Type' content='text/html; charset=windows-1251'>
<meta http-equiv='MSThemeCompatible' content='Yes'>
<title>0</title>
</head>
<script type='text/javascript'>
function AutoItEvent(Value)
{
document.title = Value;
setTimeout('document.title = 0;', 10);
}
</script>
<body style='border:none' scroll='no' >
<input name=1 value='Кнопка 1' onclick='AutoItEvent(1);' type='button'/>
<input name=2 value='Кнопка 2' onclick='AutoItEvent(2);' type='button'/>
<input name=3 value=' Выход ' onclick='AutoItEvent(-3);' type='button'/>
</body>
</html>
Добавлено:
Сообщение автоматически объединено:
Спасибо, разобрался.
Код:
Func WebCtrlGetData($hObj, $iCtrl)
$oInputs = _IETagNameGetCollection($hObj, "input")
For $oInput In $oInputs
If (String($oInput.name) = $iCtrl) Then
Return $oInput.Value
EndIf
Next
EndFunc