Войти

Показать полную графическую версию : Нажать кнопку Yes в окне Security Alert в IE


Sisin
07-06-2021, 22:59
Подскажите, пожалуйста, можно ли с помощью VBS нажать кнопку Yes в окне Security Alert в IE:
https://c.radikal.ru/c16/2106/b7/e2f8844313c1.png (https://b.radikal.ru/b25/2106/e6/ec8d4337087b.jpg)

PS: Именно нажать!! Не отключить предупреждения в реестре, не использовать другой браузер, именно нажать!

Iska
08-06-2021, 06:14
Sisin, чтобы с гарантией — нет, нельзя. «Копайте» в сторону AutoIt, если сильно нужно.

Sisin
08-06-2021, 10:37
Iska, а без гарантии?

greg zakharov
08-06-2021, 20:32
Sisin, а без гарантий только гарантия без гарантии. А ежели сурьёзно и аведно стрекать на перстах, то чай ведь IE, а там всё на COM построено. Пошукайте OLEView его компоненты, может чаво сыщите. Что же касается простоты, Iska прав. Хотя и на pwsh можно запилить кликер.

Iska
08-06-2021, 22:34
Iska, а без гарантии? »
Без гарантии?! Хорошо. Как Вы собираетесь на VBScript определять сам факт и момент появления этого окна?

greg zakharov
08-06-2021, 22:53
Как Вы собираетесь на VBScript определять сам факт и момент появления этого окна?О, здесь простор для фантазии не столь велик! Скорее всего по заголовку. Хотя помнится что-то было в COM у IE связанное с PopUp, токмо тяжко припомнить сие.

Iska
08-06-2021, 23:09
greg zakharov, так заголовок-то, насколько я помню, тот же останется — «… — Internet Explorer».

greg zakharov
08-06-2021, 23:55
Iska, за давностью лет и относительно небольшим опытом общения с IE сложно вспомнить, но вроде бы да.

Sisin
17-06-2021, 01:14
Как Вы собираетесь на VBScript определять сам факт и момент появления этого окна? »

Через hWnd окна с 3-х секундной задержкой.

Iska
17-06-2021, 02:27
Sisin, код в студию ;)!

Sisin
17-06-2021, 22:56
У меня так работает:

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

Как сделать через цикл, чтобы ждал появления окна, а потом один раз нажимал кнопки?

Iska
18-06-2021, 05:14
«Нажимал на кнопки» — никак, нет такого функционала. .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}"

Sisin
18-06-2021, 08:41
«Нажимал на кнопки» — никак, нет такого функционала. .SendKeys() отсылает оконной процедуре активного окна сообщения о якобы нажатых клавишах. »

Пару дней погонял, работает без сбоев.

Sisin
18-06-2021, 20:15
У меня работает только с:
Loop until WshShell.AppActivate("Security Alert")

Iska
19-06-2021, 01:46
Sisin, конечно же, Do … Loop Until …. Поправил выше.




© OSzone.net 2001-2012