Что нового

[Окна, Диалоги] Как получить доступ к окну выбора файла, запускаемому из IES

Drinkins

Новичок
Доброго времени суток!

Я занимаюсь разработкой программного робота для совершения определённых действий в браузере, естественно IE.
Версия IE - 11, Autoit - 3.3.12 32-х разрядная. так как у пользователей стоит аналогичная винда, семёрка.

Как водится сталкивался с проблемами доступа к диалоговым окнам выбора файла, эту проблему я решал с помощью перехода на окно по навигации запуском javascript:

$obIE.navigate('javascript:document.getElementById("qwt-uid-6").click(0);void(0)',0)
Ну и дальше работал с окном стандартно, заполнял путь к файлу, жал кнопку.

Затем я познал головную боль доступа к окнам Internet Explorer Server, эту траблу решил, получая доступ к нему через функцию IE.au3:
$o_IES = __IEControlGetObjFromHWND($a_ECW[$i][0])

И это работало. Пока эти две беды не сплотились против меня.

Сейчас мне нужно получить доступ к окну выбора файла, который запускается из окна IES и вышеописанный метод не работает, код примерно такой:

; запуск окна IES из основного окна IE
$ieApp.navigate('javascript:document.getElementById("qwt-uid-6").click(0);void(0);',0)
$dialog_hwnd = WinWait(" -- Диалоговое окно веб-страницы","",500)
local $aChild = _WinAPI_EnumChildWindows($dialog_hwnd)
; получаю доступ к окну IES
$o_IES = __IEControlGetObjFromHWND($aChild[1][0])
;пытаюсь запустить окно выбора файла
$o_IES.navigate('javascript:document.getElementById("fileToUpload").click(0);void(0);',0)

И тут я получаю ошибку доступа "Отказано в доступе" - 80020009.

Подскажите кто сталкивался или просто знает, как быть в данном случае.
 
Верх