Что нового

Возможности AutoIt в Web

magros

Новичок
Сообщения
20
Репутация
1
Доброго всем.
Собственно тема больше вопросного характера и наверное адресована гуру.

1. Возможно ли создать в AutoIt "полноценный" браузер.
что я имею ввиду, я бы хотел что бы в окне созданом на АИ отображалась веб страница по своему функционалу не чем не отличающаяся от работы в обычном браузере. Скорее всего это будет на основе какой то библиотеки браузера, мне так кажется.

2. Качественный ресайз.
Можно ли страницу грубо говоря запихнуть в 100*100 пиксилей всю целяком ?

3. Автоит и JS Ajax JQuery
по вредствам АутоИт возможно ли задействовать функции языка и библиотек ?
имеется ввиду функции и скрипты загруженные на страничке
 

Roman89

Новичок
Сообщения
107
Репутация
3
Да конечно возможно я сам когда то писал браузер!
вот мой код:
Код:
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>

Global $GUI_Button_Back, $GUI_Button_Forward,$Command , $Enable
Global Const $CSC_UPDATECOMMANDS = 0xFFFFFFFF
Global Const $CSC_NAVIGATEFORWARD = 0x00000001
Global Const $CSC_NAVIGATEBACK = 0x00000002

    Local $oIE, $GUIActiveX
    Local $GUI_Button_Home, $GUI_Button_Stop, $msg
    
    $oIE = ObjCreate("Shell.Explorer.2")

    GUICreate("Njkcnbqua", 1024, 768, (@DesktopWidth - 1600) / 2, (@DesktopHeight - 1000) / 2, BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS, $WS_CLIPCHILDREN))
    $GUIActiveX = GUICtrlCreateObj ($oIE, 0, 25, 1024, 768)
    $GUI_Button_Back = GUICtrlCreateButton("Назад", 0, 0, 50, 24)
    $GUI_Button_Forward = GUICtrlCreateButton("Вперед", 100, 0, 50, 24)
    $GUI_Button_Home = GUICtrlCreateButton("Home", 1180, 0, 100, 24)
    $GUI_Button_Stop = GUICtrlCreateButton("Stop", 50, 0, 50, 24)
    $GUI_Button_More = GUICtrlCreateButton("WebFile",270, 0, 60, 24)
    $GUI_Button_Mores = GUICtrlCreateButton("Радикал",210, 0, 60, 24)
    $GUI_Button_Morese = GUICtrlCreateButton("Google",150, 0, 60, 24)
    $GUI_Button_Moreg = GUICtrlCreateButton("RGhost",330, 0, 60, 24)
    ControlDisable("","",$GUI_Button_Back)
    ControlDisable("","",$GUI_Button_Forward )
    GUISetState()       ;Show GUI
    
$oSinkObject = ObjEvent($oIE, "IEEvent_", "DWebBrowserEvents") ;создаем обЪект для регистрации событий

    $oIE.navigate("http://www.njkcnbqua.ru/")

    while 1
        $msg = GUIGetMsg()
        Select
            Case $msg = $GUI_EVENT_CLOSE
                ExitLoop
            Case $msg = $GUI_Button_Home
                $oIE.navigate("http://www.njkcnbqua.ru/")
            Case $msg = $GUI_Button_Back
                    $oIE.GoBack
            Case $msg = $GUI_Button_Forward
                $oIE.GoForward
            Case $msg = $GUI_Button_Stop
                $oIE.Stop

            Case $msg = $GUI_Button_Mores
                $oIE.navigate("http://www.radikal.ru/")

            Case $msg = $GUI_Button_Morese
                $oIE.navigate("http://www.google.ru")

   Case $msg = $GUI_Button_More
                $oIE.navigate("http://webfile.ru/")

   Case $msg = $GUI_Button_Moreg
                $oIE.navigate("http://rghost.ru/")

        EndSelect
        
    wend
    GUIDelete()
 
; Функция обработки события _CommandStateChange в браузере
Func IEEvent_CommandStateChange($command, $enable)
    Switch $command
        Case $CSC_NAVIGATEBACK
            If $enable = True Then
                ControlEnable("","",$GUI_Button_Back)
            Else
                ControlDisable("","",$GUI_Button_Back)
            EndIf
        Case $CSC_NAVIGATEFORWARD
            If $enable = True Then
                ControlEnable("","",$GUI_Button_Forward)
            Else
                ControlDisable("","",$GUI_Button_Forward )
            EndIf
    EndSwitch
EndFunc
Программа выглядит так:
 

AZJIO

Меценат
Меценат
Сообщения
2,903
Репутация
1,200
magros
Посмотри пример из _IECreateEmbedded
Код:
; *******************************************************
; Пример 1 - Перехват COM ошибок, таких как 'Назад' и 'Вперёд', находящиеся за пределами границ истории не приводят к отказу скрипта (ожидаемые COM-ошибки будут направлены в консоль)
; *******************************************************
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <IE.au3>

_IEErrorHandlerRegister()

$oIE = _IECreateEmbedded()
GUICreate("Тест вставленного Web-элемента", 640, 480, -1, -1, _
		$WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS + $WS_CLIPCHILDREN)
$GUIActiveX = GUICtrlCreateObj($oIE, 5, 5, 630, 405)
GUICtrlSetResizing(-1, 2 + 4 + 32 + 64)
$GUI_Button_Back = GUICtrlCreateButton("Назад", 10, 420, 60, 30)
$GUI_Button_Forward = GUICtrlCreateButton("Вперёд", 80, 420, 60, 30)
$GUI_Button_Home = GUICtrlCreateButton("Домой", 150, 420, 60, 30)
$GUI_Button_Stop = GUICtrlCreateButton("Стоп", 220, 420, 60, 30)
$GUI_Button_Refresh = GUICtrlCreateButton("Обновить", 290, 420, 60, 30)
$GUI_Button_Selectall = GUICtrlCreateButton("Выделить всё", 360, 420, 90, 30)
$GUI_Button_Unselect = GUICtrlCreateButton("Снять выделение", 460, 420, 110, 30)

GUISetState() ; показать GUI

; _IENavigate ($oIE, "about:blank")
_IENavigate($oIE, "http://www.autoitscript.com")

; цикл выполняется, пока пользователь не закроет окно
While 1
	Switch GUIGetMsg()
		Case $GUI_EVENT_CLOSE
			ExitLoop
		Case $GUI_Button_Home
			; _IENavigate ($oIE, "about:blank")
			_IENavigate($oIE, "http://www.autoitscript.com")
		Case $GUI_Button_Back
			_IEAction($oIE, "back")
		Case $GUI_Button_Forward
			_IEAction($oIE, "forward")
		Case $GUI_Button_Stop
			_IEAction($oIE, "stop")
		Case $GUI_Button_Refresh
			_IEAction($oIE, "refresh")
		Case $GUI_Button_Selectall
			_IEAction($oIE, "selectall")
		Case $GUI_Button_Unselect
			_IEAction($oIE, "unselect")
	EndSwitch
WEnd

GUIDelete()
Exit
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626

Nik_rus

Python The Snake.
Сообщения
214
Репутация
62
-.-:
scaled.php
 

Roman89

Новичок
Сообщения
107
Репутация
3
Kaster, но встроил сам) ;)
Если честно то делал я браузер довольно давно и как его делать уже если чесно не помню)
 
Верх