Всем доброго времени суток.
Прочитала всю тему http://autoit-script.ru/index.php/topic,7339.0.html, несколько раз. Но никак не удается решить проблему. Всплывающее окно, где необходимо нажать кнопку "Ok", скрипт останавливается, после ручного нажатия на OK/Cancel - возобновляется... Пытаюсь использовать решение, которое помогло выше - ничего не меняется :( Вставляю код, что я делаю не так?
Мой код изначально:
Когда запускаю скрипт при открытом модальном окне - он срабатывает...
Сейчас мой код выглядит вот так:
Целый день голову ломаю, буду очень благодарна за помощь.. :stars:
Ссылку дать не могу, система во внутренней сети :(
Прочитала всю тему http://autoit-script.ru/index.php/topic,7339.0.html, несколько раз. Но никак не удается решить проблему. Всплывающее окно, где необходимо нажать кнопку "Ok", скрипт останавливается, после ручного нажатия на OK/Cancel - возобновляется... Пытаюсь использовать решение, которое помогло выше - ничего не меняется :( Вставляю код, что я делаю не так?
Мой код изначально:
Код:
#include <IE.au3>
WinActivate("[CLASS:IEFrame]")
$oIE = _IEAttach("Система 4i", "Title")
$oEdit = _IEGetObjByName($oIE, "ctl00$ctl00$ctl00$MainContent$LeftContent$UserDataContent$saveButton")
_IEAction($oEdit, "click") ; после нажатия кнопки сохранить появляется модальное окно
ControlClick('[Title:Сообщение с веб-страницы]', '', '[CLASS:Button; INSTANCE:1]') ; вот тут хотелось бы нажать кнопку Ок :)
Когда запускаю скрипт при открытом модальном окне - он срабатывает...
Сейчас мой код выглядит вот так:
Код:
#include <IE.au3>
#include <File.au3>
WinActivate("[CLASS:IEFrame]")
$oIE = _IEAttach("Система 4i", "Title")
$oEdit = _IEGetObjByName($oIE, "ctl00$ctl00$ctl00$MainContent$LeftContent$UserDataContent$saveButton")
$sTempFile = _TempFile(@TempDir)
$iPid = _Click_Prompt_IE('Test')
If Not $iPid Then
MsgBox(16, 'Error', '_Click_Prompt_IE')
EndIf
_IEAction($oEdit, "click")
If ProcessExists($iPid) Then
ProcessClose($iPid)
Sleep(500)
EndIf
FileDelete($sTempFile)
ControlClick('[Title:Сообщение с веб-страницы]', '', '[CLASS:Button; INSTANCE:1]')
Func _Click_Prompt_IE($s_Text)
Local $s_TempFile, $s_Script, $h_File, $i_Pid, $i_Start, $i_TimeOut = 4000 ; 4 sec
$s_Script = "#NoTrayIcon" & @CRLF & _
"$hWin = WinWait('[Title:Explorer User Prompt; Class:#32770]', '', 3)" & @CRLF & _
"If Not $hWin Then Exit" & @CRLF & _
"ControlClick($hWin, '', '[CLASS:Button; INSTANCE:1]')" & @CRLF & _;у Вас может быть другой
"Sleep(500)" & @CRLF & _
"If WinExists($hWin) Then" & @CRLF & _
"ToolTip('Ошибка 3', 0, 0)" & @CRLF & _
"Sleep(5000)" & @CRLF & _
"EndIf" & @CRLF & _
"Exit"
$h_File = FileOpen($sTempFile, 2)
FileWrite($h_File, $s_Script)
FileClose($h_File)
If @Compiled Then
$i_Pid = Run(@ScriptFullPath & ' /AutoIt3ExecuteScript "' & $sTempFile & '"')
Else
$i_Pid = Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & $sTempFile & '"')
EndIf
Return $i_Pid
EndFunc ;==>_Click_Prompt_IE
Целый день голову ломаю, буду очень благодарна за помощь.. :stars:
Ссылку дать не могу, система во внутренней сети :(