Форум программистов, компьютерный форум, киберфорум
VBScript/JScript/WSH/WMI/HTA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
90 / 58 / 7
Регистрация: 07.02.2010
Сообщений: 732
1
VBS

Захват появляющегося окна IE

17.05.2016, 10:02. Показов 3052. Ответов 22
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Прошел по ссылке. Вызвал форму на странице.
Visual Basic
1
2
3
4
5
6
7
8
9
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.Navigate "http://trololo/work"
wscript.sleep 5000
While objIE.Busy
    WScript.Sleep 200
Wend
Set objForm = objIE.Document.forms(0)
objForm.elements("SubDialogComponent").click
Как теперь ее захватить, чтобы на ней кнопки нажимать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.05.2016, 10:02
Ответы с готовыми решениями:

Подобрать элементы и логическую концепцию для появляющегося окна
Передо мной стоит задача создать появляющееся окно, которое будет содержать логику, аналогично...

Захват окна
Я еще новичек в програмиировании, пожалуста подскажите подробно как реализовать захват другого...

Захват окна другой программы
Как можно из моей программы управлять окном, которое создано другим приложением (нажать в нём...

Захват дескриптора (handle) чужого окна
Можно ли из моей программы управлять окном которое создано другим приложением (закрывать,...

22
61 / 61 / 36
Регистрация: 16.09.2015
Сообщений: 296
17.05.2016, 11:10 2
а Вы сделать пытаетесь, стоит вообще ослика открывать для заполнения формы, может запрос просто отправить?
0
90 / 58 / 7
Регистрация: 07.02.2010
Сообщений: 732
17.05.2016, 11:17  [ТС] 3
При переходе создается уникальный ключ сессии (
0
61 / 61 / 36
Регистрация: 16.09.2015
Сообщений: 296
24.05.2016, 13:21 4
Visual Basic
1
objIE.document.getElementById("idname")
0
90 / 58 / 7
Регистрация: 07.02.2010
Сообщений: 732
25.05.2016, 07:34  [ТС] 5
Захватил, а кнопку нажать не могу:

Visual Basic
1
2
3
4
'Захват окна
objIE.document.getElementById("form1")
wscript.sleep 5000
objIE.document.getElementById("l12b").click
Миниатюры
Захват появляющегося окна IE  
0
61 / 61 / 36
Регистрация: 16.09.2015
Сообщений: 296
25.05.2016, 08:33 6
пример для страницы на которой мы находимся)
Visual Basic
1
2
3
4
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.Navigate "https://www.cyberforum.ru/vbscript-wsh/thread1605303.html"
Set navbar_username = objIE.document.getElementById("vbbloglinks_menu")
0
90 / 58 / 7
Регистрация: 07.02.2010
Сообщений: 732
25.05.2016, 08:53  [ТС] 7
Nf ;t tisha_, на первой странице я могу нажать кнопку, но у меня появляется выплывающее окно. И в нем мне надо нажать кнопку. Я его захватил и теперь, как я понимаю, мне надо сославшись на него, найти в нем кнопку и нажать ее.
0
61 / 61 / 36
Регистрация: 16.09.2015
Сообщений: 296
25.05.2016, 09:52 8
только перед выполнением удаленку и outlook закройте, у них нет FullName, а игнорирование ошибки приводит к преждевременному выходу из цикла с выполнением условия, не знаю как обойти
Visual Basic
1
2
Set objShell = CreateObject("Shell.Application") : Set objWindows = objShell.Windows
For Each objWindow In objWindows : If LCase(Right(objWindow.FullName, 12)) = "iexplore.exe" Then : Set objIE = objWindow : Exit For : End If : Next
0
61 / 61 / 36
Регистрация: 16.09.2015
Сообщений: 296
25.05.2016, 10:39 9
и да, это не обязательно через ID делать, там много методов
Захват появляющегося окна IE
0
90 / 58 / 7
Регистрация: 07.02.2010
Сообщений: 732
30.05.2016, 12:55  [ТС] 10
Не работает. Зайдем с другой стороны.
Нашел я форму по id:
Visual Basic
1
2
Set objForm = objIE.Document.getElementById("form1")
    WScript.Sleep 3000
Как теперь в MessageBox вывести список всех элементов, которые на этой форме есть?
0
61 / 61 / 36
Регистрация: 16.09.2015
Сообщений: 296
30.05.2016, 13:46 11
getElementByTagName - выдаст Вам всех наследников по dom-дереву вроде

Добавлено через 34 минуты
хотя не вариант на коде
Visual Basic
1
2
Set inputs1 = objIE.document.getElementById("footer")
elems = inputs1.getElementsByTagName("*")
elems будет стрингом со значением "[object HTMLCollection]", а вот как в коллекцию засунуть и смотреть фиг знает.
1
90 / 58 / 7
Регистрация: 07.02.2010
Сообщений: 732
30.05.2016, 13:49  [ТС] 12
выдает [object].
0
61 / 61 / 36
Регистрация: 16.09.2015
Сообщений: 296
30.05.2016, 13:59 13
приложите разметку формы
0
90 / 58 / 7
Регистрация: 07.02.2010
Сообщений: 732
30.05.2016, 14:02  [ТС] 14
HTML5
1
2
3
4
5
6
7
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1"><title>
    Журнал 
</title><link type='text/css' rel='stylesheet' href='Images/SD_Symantec_Simple/styles.css'/><style type='text/css'>#tableMain{width:943px;height:713px;}body{margin:0;padding:0;}</style><style type="text/css">
    .NumericTextBoxComponent__</style></head>
<body id="MainBody" onload="getSecs2()">
<form name="form1" method="post" action="Form.aspx?SESSIONID=XOUVw1Um5hG3_ABQVrU3ZA" id="form1" style="margin: 0px; padding: 0px;">
0
61 / 61 / 36
Регистрация: 16.09.2015
Сообщений: 296
30.05.2016, 14:05 15
а дальше? тег </form> отсутствует же
0
90 / 58 / 7
Регистрация: 07.02.2010
Сообщений: 732
30.05.2016, 14:12  [ТС] 16
А дальше 159 строк бреда, включающего в себя два десятка <script> и два <div>.
0
61 / 61 / 36
Регистрация: 16.09.2015
Сообщений: 296
30.05.2016, 14:17 17
в составе тега формы? не представляю такое. далее должны быть какие-нибудь инпутбоксы(да минимум кнопка) иначе что он постом на аспшную страницу шепчет
0
90 / 58 / 7
Регистрация: 07.02.2010
Сообщений: 732
30.05.2016, 14:21  [ТС] 18
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1"><title>
    Журнал 
</title><link type='text/css' rel='stylesheet' href='Images/SD_Symantec_Simple/styles.css'/><style type='text/css'>#tableMain{width:943px;height:713px;}body{margin:0;padding:0;}</style><style type="text/css">
    .NumericTextBoxComponent__</style></head>
<body id="MainBody" onload="getSecs2()">
<form name="form1" method="post" action="Form.aspx?SESSIONID=XOUVw1Um5hG3_ABQVrU3ZA" id="form1" style="margin: 0px; padding: 0px;">
<div>
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="....==" />
</div>
0
61 / 61 / 36
Регистрация: 16.09.2015
Сообщений: 296
30.05.2016, 14:26 19
ой, ну так и бери поля, хочешь по именам, хочешь по айдишникам
0
90 / 58 / 7
Регистрация: 07.02.2010
Сообщений: 732
30.05.2016, 14:29  [ТС] 20
Кнопку в этом окне я могу нажать. Но потом появляется новое окно с динамическим адресом.
Я хочу на основном окне получить список элементов, чтобы на всплывающем точно по адресу обращаться к элементам. А так я то в один адрес долблюсь, то в другой, и никак не могу понять - я в форму не попал или с id документа ошибся.
0
30.05.2016, 14:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.05.2016, 14:29
Помогаю со студенческими работами здесь

Как реализовать в WPF захват нажатия мыши вне окна моего приложения?
как реализовать в WPF захват нажатия мыши вне окна моего приложения, когда мое приложения...

Анимация для появляющегося блока
Всем доброго времени суток, подскажите, как сделать небольшую задержку для всплывающего блока при...

Игнорирование появляющегося элемента нижестоящим
Навожу, раскрывается и нижний блок уползает вниз под действием нормального потока, а мне нужно, что...

Вёрстка блока с тенью, появляющегося при наведении
всем привет, ребят не подскажите как сверстать такой блок на css? при наведении на фразу всплывает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru