Показать полную графическую версию : Нажать кнопку Yes в окне Security Alert в IE
Подскажите, пожалуйста, можно ли с помощью VBS нажать кнопку Yes в окне Security Alert в IE:
https://c.radikal.ru/c16/2106/b7/e2f8844313c1.png (https://b.radikal.ru/b25/2106/e6/ec8d4337087b.jpg)
PS: Именно нажать!! Не отключить предупреждения в реестре, не использовать другой браузер, именно нажать!
Sisin, чтобы с гарантией — нет, нельзя. «Копайте» в сторону AutoIt, если сильно нужно.
greg zakharov
08-06-2021, 20:32
Sisin, а без гарантий только гарантия без гарантии. А ежели сурьёзно и аведно стрекать на перстах, то чай ведь IE, а там всё на COM построено. Пошукайте OLEView его компоненты, может чаво сыщите. Что же касается простоты, Iska прав. Хотя и на pwsh можно запилить кликер.
Iska, а без гарантии? »
Без гарантии?! Хорошо. Как Вы собираетесь на VBScript определять сам факт и момент появления этого окна?
greg zakharov
08-06-2021, 22:53
Как Вы собираетесь на VBScript определять сам факт и момент появления этого окна?О, здесь простор для фантазии не столь велик! Скорее всего по заголовку. Хотя помнится что-то было в COM у IE связанное с PopUp, токмо тяжко припомнить сие.
greg zakharov, так заголовок-то, насколько я помню, тот же останется — «… — Internet Explorer».
greg zakharov
08-06-2021, 23:55
Iska, за давностью лет и относительно небольшим опытом общения с IE сложно вспомнить, но вроде бы да.
Как Вы собираетесь на 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}"
«Нажимал на кнопки» — никак, нет такого функционала. .SendKeys() отсылает оконной процедуре активного окна сообщения о якобы нажатых клавишах. »
Пару дней погонял, работает без сбоев.
У меня работает только с:
Loop until WshShell.AppActivate("Security Alert")
Sisin, конечно же, Do … Loop Until …. Поправил выше.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.