Всем привет. Пишу автотест на selenium, но так как пришлось работать с диалоговыми окнами IE, было решено прикрутить Autoit скрипт.
Я мало в нем разбираюсь, поэтому прошу помощи.
Задача: скачать файл(ссылки нет), проверить существуюет ли он в папке, и если да, то удалить его.
Вот, что удалось реализовать покурив справку и форум:
Но хотелось бы не использовать конкретный путь к файлу при проверке существует ли он и удалении, а брать его(путь) из открытого IE окна после нажатия Open folder, на случай если тест будет проводится на другой машине с измененным путем сохранения.
Если кто знает, как это сделать, буду очень признателен
IE 11, хотел вставить скрины, но запрещено использовать внешние ссылки, а как загрузить картинку на форум чет не понял
ps надеюсь внятно описал...
Я мало в нем разбираюсь, поэтому прошу помощи.
Задача: скачать файл(ссылки нет), проверить существуюет ли он в папке, и если да, то удалить его.
Вот, что удалось реализовать покурив справку и форум:
Код:
Sleep(5000)
Local $hIE = WinGetHandle("[Class:IEFrame]")
Local $hCtrl = ControlGetHandle($hIE, "", "[ClassNN:DirectUIHWND1]")
If WinExists($hIE,"") Then
WinActivate($hIE,"")
ControlSend($hIE ,"",$hCtrl,"{F6}") ; Gives focus to Open Button
Sleep(500)
ControlSend($hIE ,"",$hCtrl,"{TAB}") ; Gives focus to Save Button
Sleep(500)
ControlSend($hIE ,"",$hCtrl,"{enter}") ; Submit whatever control has focus
Sleep(500)
ControlSend($hIE ,"",$hCtrl,"{F6}") ; Gives focus to Open Button
Sleep(500)
ControlSend($hIE ,"",$hCtrl,"{TAB}") ; Gives focus to Open folder
Sleep(500)
ControlSend($hIE ,"",$hCtrl,"{enter}")
Sleep(1000)
Local $hWnd3 = WinGetHandle("Downloads")
If WinExists($hWnd3,"") Then
WinActivate($hWnd3,"")
Sleep(500)
If FileExists(@UserProfileDir & "\Downloads\DPT_STROK_PENS.rtf") Then
FileDelete(@UserProfileDir & "\Downloads\DPT_STROK_PENS.rtf")
WinClose($hWnd3)
Sleep(2000)
WinActivate($hIE,"")
ControlSend($hIE ,"",$hCtrl,"{F5}")
Else
MsgBox(4096, "Error", "Файл не существует", 1)
WinClose($hWnd3)
WinActivate($hIE,"")
WinClose($hIE,"")
EndIf
Else
MsgBox(4096, "Error", "Окно не существует", 1)
WinActivate($hIE,"")
WinClose($hIE,"")
EndIf
Else
MsgBox(4096, "Error", "Ошибка загрузки", 1)
WinActivate($hIE,"")
WinClose($hIE,"")
EndIf
Exit
Но хотелось бы не использовать конкретный путь к файлу при проверке существует ли он и удалении, а брать его(путь) из открытого IE окна после нажатия Open folder, на случай если тест будет проводится на другой машине с измененным путем сохранения.
Если кто знает, как это сделать, буду очень признателен
IE 11, хотел вставить скрины, но запрещено использовать внешние ссылки, а как загрузить картинку на форум чет не понял
ps надеюсь внятно описал...