Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Создать дочернее окно IE

Ответить
Настройки темы
Создать дочернее окно IE

Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Доброго времени суток.
Собственно сабж. Теперь немного подробнее. Я регулярно сижу на некотором сайте (например http://www.chto-to.ru) и мне нужно периодически получать оттуда маленькую XML'ку. в принципе она вызывается простым _IENavigate на некоторый адрес (например http://www.chto-to.ru/xml_conf.php) При переходе на этот адрес мне возвращается XML с которым я дальше работаю. Но есть ньюанс, XML'ка возвращается только внутри активной авторизированной на сайте сессии. Т.е. если ты не прошел авторизациию, то тебе при переходе на этот адрес вернется заглавная страница сайта с приглашением на вход. Если я не ошибаюсь, то авторизация идет через cookie, но я могу и ошибаться. Вот в чем вопрос. При открытии нового окна функцией IECreate, в IE 6 и IE 7, сессия открывается новая, а в IE 8 он подцепляется к существующим открытым сессиям. Как сделать так чтобы в любой версии IE он цеплялся к существующей сессии. В приципе, наверное, можно породить дочернее окно прямо из текущего сеанса, но я не знаю как. Попытка создания нового окна about:blank, потом DllCall('user32.dll', 'int', 'SetParent', 'hwnd', $oIEtempHWND, 'hwnd', $oIE_HWND) и _IENavigate результата не дает.Окно становится дочерним, но при этом не цепляется к сессии. Видимо окно надо делать дочерним изначально. Подскажите пожалуйста как это можно реализовать. Зарание спасибо.

Отправлено: 16:05, 11-08-2009

 

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата Shampur:
Как сделать так чтобы в любой версии IE он цеплялся к существующей сессии. »
AFAIK для подключения к текущей сессии используется _IEAttach

Отправлено: 09:00, 12-08-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


нет. amel27, вы меня не поняли.
_ieattach используется для подключения скрипта к текущей сессии. а вопрос в том как создать новое окно ie являющееся дочерним по отношению к другому.

Отправлено: 22:10, 12-08-2009 | #3


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата Shampur:
вы меня не поняли »
Сложно понять без рабочего примера, когда неизвестно ни как создается "авторизаванная сессия", ни как в ней происходит навигация до нужной XML... Лучше бы Вы подробно описали последовательность своих действий (можно в картинках), чем измышления о "кукисах, ""сессиях" и "авторизации"... иначе неясно, что нужно автоматизировать.

Отправлено: 05:53, 13-08-2009 | #4


Аватара для timsky

Новый участник


Сообщения: 46
Благодарности: 10

Профиль | Отправить PM | Цитировать


Цитата Shampur:
Т.е. если ты не прошел авторизациию, то тебе при переходе на этот адрес вернется заглавная страница сайта с приглашением на вход »
А в чем проблема повторной авторизации? Т.е. парсишь полученный контент и если видишь, что нужен логин/пасс - вбиваешь их и авторизуешься.

Отправлено: 15:15, 13-08-2009 | #5


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Хорошо. Привожу реальную ситуацию. Этот сайт - он-лайн браузерная игра. Приводить название безсмысленно, т.к. для проверки вам придется там регистрироваться и начинать играть, а это долго и неинтерестно да и не требуется в общем. Привожу конкретный пример.
Открыто окно игры. Если я открываю новое окно IE, то при наборе адреса www.бла-бла.ru/xml.php (которое должно вернуть мне xml'ку) меня перебрасывает не на xml.php, а на index.php, т.е. на начальную страницу там где надо вводить пароль и логин. Если при этом я введу туда свои логин и пароль, то в первом окне произойдет выход из игры (ну так там устроено). Хотя все это не верно для Internet Explorer 8. В нем все работает исправно.
А в процессе игры периодически всплвают окна которые являются дочерними по отношению к окну с игрой (это я проверял) и в них этой проблемы нет. Вопрос. Как создать дочернее окно для IE?

Последний раз редактировалось Shampur, 14-08-2009 в 14:06.


Отправлено: 13:53, 14-08-2009 | #6


Аватара для timsky

Новый участник


Сообщения: 46
Благодарности: 10

Профиль | Отправить PM | Цитировать


Цитата Shampur:
Как создать дочернее окно для IE? »
Неправильный вопрос ИМХО.
Сперва узнай, как открыть www.бла-бла.ru/xml.php в новом окне так, чтобы не требовалась переавторизация.
Я думаю, что дело в рефере (referrer). Т.е. на www.бла-бла.ru/xml.php ты же попадаешь, например, сразу после авторизаци со страницы index.php. Вот и попробуй в качестве рефера при открытии xml.php указать index.php. возможно, там есть еще промежуточный редирект... вобщем, дело не в Автоите, а в самом сайте.
MiniBrowser из websiteWatcher тебе в помощь или плагин какой-нить подобный из FF.

Отправлено: 23:37, 14-08-2009 | #7


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата timsky:
вобщем, дело не в Автоите, а в самом сайте. »
Да, дело конечно не в Автоите, но и не в сайте ИМХО. Потому что в IE 8 открытие нового окна переавторизации не требует а в IE 7 и 6 требует. Так что дело, думаю, в версии браузера. Т.е. восьмая версия использует какие-то другие механизмы. Попробую вопрос решить так: в теле страницы на это сайте возможен вызов такой JAVA функции:
showMsg("error.php?error="+msg, 'Сообщение') (это пример)
Попробую менять код страницы с помощью _IEDocWriteHTML и вставить туда вызов нужного мне адреса. отпишусь если что-то получится.

Отправлено: 14:24, 16-08-2009 | #8


Аватара для timsky

Новый участник


Сообщения: 46
Благодарности: 10

Профиль | Отправить PM | Цитировать


Цитата Shampur:
Да, дело конечно не в Автоите, но и не в сайте ИМХО. Потому что в IE 8 открытие нового окна переавторизации не требует а в IE 7 и 6 требует »
На FF/Opera пробовал? Я думаю что дело все-таки в сайте.

Отправлено: 01:46, 17-08-2009 | #9


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


_IEDocWriteHTML оператор работает. я действиетльно смог вызвать встренную в сайт функцию showmsg. код приводить не буду так как в хелпе по autoit'y есть в общем нормальное решение.
Цитата timsky:
На FF/Opera пробовал? »
Я честно говоя не знал что автоит можно к опере или фф прикрутить.

Отправлено: 18:55, 20-08-2009 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Создать дочернее окно IE

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Создать окно с полосой прокрутки morgan1991 AutoIt 1 16-07-2009 18:13
[решено] Создать окно WMP в GUI beve AutoIt 5 09-07-2009 15:52
как создать телефонный справочник на своем сайте я хочу создать телефонный справочник re5pect Вебмастеру 8 14-07-2008 19:45
Главное окно DarkDeivel Автоматическая установка Windows 2000/XP/2003 2 23-06-2008 10:02
Новое окно Surround Вебмастеру 7 19-12-2003 21:41




 
Переход