Нажать кнопку Yes в окне Security Alert в IE
Подскажите, пожалуйста, можно ли с помощью VBS нажать кнопку Yes в окне Security Alert в IE:
PS: Именно нажать!! Не отключить предупреждения в реестре, не использовать другой браузер, именно нажать!
|
Sisin, чтобы с гарантией — нет, нельзя. «Копайте» в сторону AutoIt, если сильно нужно.
|
greg zakharov |
08-06-2021 20:32 2959747 |
Sisin, а без гарантий только гарантия без гарантии. А ежели сурьёзно и аведно стрекать на перстах, то чай ведь IE, а там всё на COM построено. Пошукайте OLEView его компоненты, может чаво сыщите. Что же касается простоты, Iska прав. Хотя и на pwsh можно запилить кликер.
|
Без гарантии?! Хорошо. Как Вы собираетесь на VBScript определять сам факт и момент появления этого окна?
|
greg zakharov |
08-06-2021 22:53 2959763 |
Цитата:
Цитата Iska
Как Вы собираетесь на VBScript определять сам факт и момент появления этого окна?
|
О, здесь простор для фантазии не столь велик! Скорее всего по заголовку. Хотя помнится что-то было в COM у IE связанное с PopUp, токмо тяжко припомнить сие.
|
greg zakharov, так заголовок-то, насколько я помню, тот же останется — «… — Internet Explorer».
|
greg zakharov |
08-06-2021 23:55 2959774 |
Iska, за давностью лет и относительно небольшим опытом общения с IE сложно вспомнить, но вроде бы да.
|
Цитата:
Цитата Iska
Как Вы собираетесь на VBScript определять сам факт и момент появления этого окна? »
|
Через hWnd окна с 3-х секундной задержкой.
|
У меня так работает:
Код:
Set WshShell = CreateObject("WScript.Shell")
act_success = WshShell.AppActivate("Security Alert")
if (act_success) then
WScript.Sleep(300)
WshShell.SendKeys "^{TAB}"
WScript.Sleep(100)
WshShell.SendKeys "^{ENTER}"
End if
Как сделать через цикл, чтобы ждал появления окна, а потом один раз нажимал кнопки?
|
«Нажимал на кнопки» — никак, нет такого функционала. .SendKeys() отсылает оконной процедуре активного окна сообщения о якобы нажатых клавишах.
Код:
Set WshShell = CreateObject("WScript.Shell")
Do
WScript.Sleep 500
Loop Until WshShell.AppActivate("Security Alert")
WScript.Sleep(300)
WshShell.SendKeys "^{TAB}"
WScript.Sleep(100)
WshShell.SendKeys "^{ENTER}"
|
Цитата:
Цитата Iska
«Нажимал на кнопки» — никак, нет такого функционала. .SendKeys() отсылает оконной процедуре активного окна сообщения о якобы нажатых клавишах. »
|
Пару дней погонял, работает без сбоев.
|
У меня работает только с:
Код:
Loop until WshShell.AppActivate("Security Alert")
|
Sisin, конечно же, Do … Loop Until …. Поправил выше.
|
Время: 16:49.
© OSzone.net 2001-