Что нового

[Сеть, интернет] Управление IE

DronZ

Новичок
Сообщения
11
Репутация
0
А как получить управление над не создаваемой _IECreate, а ранее запущенной? Нутром чую надо использовать ObjGet, но доказать пока не могу...
 

kaster

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

DronZ

Новичок
Сообщения
11
Репутация
0
Kaster сказал(а):
DronZ [?]
но доказать пока не могу
зачем доказывать? :smile:
просто читай справку ;)
Код:
$oIE = ObjGet('', 'InternetExplorer.Appilcation')

Все бы хорошо, но не работает(покрайней мере у меня) :wacko:

WinWaitActive( ) ; дожидается
$oIE = ObjGet('', 'InternetExplorer.Appilcation') ;вроде отрабатывает
$oForm = _IEFormGetCollection($oIE,0) ; ошибка $_IEStatus...........

а справку я читал, даж Include\IE.au3 ковырял, оттуда и допер до ObjGet...
 

snoitaleR

AutoIT Гуру
Сообщения
855
Репутация
223
DronZ
А мне кажется, что для подключения к уже созданному окну Internet Explorer предназначена функция _IEAttach()...
 
Автор
D

DronZ

Новичок
Сообщения
11
Репутация
0
snoitaleR сказал(а):
DronZ
А мне кажется, что для подключения к уже созданному окну Internet Explorer предназначена функция _IEAttach()...

Насколько я понял из корявого перевода Googl-а - да. Спасибо. Проверю подкину репутацию...
 

r35p3ct

Продвинутый
Сообщения
228
Репутация
60
Код:
#include <IE.au3> 
$hwnd=WinGetHandle('[CLASS:IEFrame]')
$oIE = _IEAttach ($hwnd,'HWND')
 

Pelerin

Осваивающий
Сообщения
81
Репутация
23
Народ, помогите!!! :wacko:

Есть скрипт:

Код:
#include <IE.au3>
RegWrite ("HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main", "StatusBarWeb", "REG_DWORD", 1)
$IE = _IECreate ()
WinSetState ($IE, "", @SW_MAXIMIZE)

; проверка наличия первой попытки пользователя перейти на некую страницу
Do
	$busy = _IEPropertyGet ($IE, "busy")
	Sleep (250)
Until $busy = -1
Do
	$busy = _IEPropertyGet ($IE, "busy")
	Sleep (250)
Until $busy = 0

; окончание проверки
; имеем IE который попытался загрузить url (не важно какой) и выдал результат
; теперь надо узнать удалось ли IE загрузить страницу или возникла ошибка и, как следствие, есть ли у IE доступ к интернет


Какой функцией можно выдернуть из IE результат загрузки страницы?

PS: было-бы класно если б кто-то толковый в общих чертах описал функции и принцип работы AutoIT с IE здесь или в отдельной теме для таких чайников как я. :smile: Ато русский туториал ничем не помог. :(
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Pelerin, в следующий раз используй пожалуйста тег [autoit] для скриптов.
autoit.gif
 

Pelerin

Осваивающий
Сообщения
81
Репутация
23
Ок, сори :-[
И все-же... Как получить результат загрузки страницы?
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Pelerin [?]
И все-же... Как получить результат загрузки страницы?
За результат загрузки страницы отвечает функция _IELoadWait.
Если вам нужно получить весь текст на странице, используйте _IEBodyReadText
Можно также проверять наличие на странице тега Н1
Код:
<h1 id="mainTitle">Internet Explorer не может отобразить эту веб-страницу</h1>
Код:
$oH1 = _IEGetObjById($oIE, 'mainTitle')
If _IEPropertyGet($oH1, "innertext") = 'Internet Explorer не может отобразить эту веб-страницу' Then
	MsgBox(0,'Internet Explorer',_IEPropertyGet($oH1, "innertext"))
EndIf

Способов много, всё зависит от поставленной задачи!
 

Pelerin

Осваивающий
Сообщения
81
Репутация
23
Garrett, спасибо! Приму к сведению.
А задача такая: выполнить скрипт (с помощью IE), но только при наличии интернета. Т. к. способы подключения у людей бывают разные (прокси..., не прокси...), то проверяется все это по факту: есть/нет - Удалось/не удалось (чтобы не ломать голову над всеми возможными вариантами).
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Pelerin [?]
А задача такая: выполнить скрипт (с помощью IE), но только при наличии интернета. Т. к. способы подключения у людей бывают разные (прокси..., не прокси...), то проверяется все это по факту: есть/нет - Удалось/не удалось (чтобы не ломать голову над всеми возможными вариантами).
В IE можно выполнить JScript, VBScript, но не Autoit! Можно конечно AutoItX использовать, но он слишком бесполезный IMHO
Проверить какое у человека соединение можно и без IE. Если полистаете форум, то думаю, найдёте информацию по этому вопросу.
 
Верх