Что нового

Как реализовать в одном коде?

Qurt

Новичок
Сообщения
8
Репутация
0
Здравствуйте.
Всех с новым годом.

Открываю браузер,ввожу в форму текст,открываю файл для вставки,и стоит ждёт:
Код:
#include <IE.au3>
$sUrl = 'http://sait.ru'
$oIE = _IECreate($sUrl); отбражает браузер
$ot = _IEGetObjByName($oIE, 'text')
$of = _IEGetObjByName($oIE, 'file');

_IEFormElementSetValue($ot, 'привет'); загружаем текст
_IEAction($of, 'click'); кнопка выбора файла

; окно выбора файла появляется,курсор в поле встаёт,но не выбирает файл
WinWait('Выбор файла', '', 1)
WinActivate("Выбор файла","")
ControlSetText("Выбор файла", "", "[CLASS:BPWk2]", "C:\1.txt")
ControlClick("Выбор файла", "", "[CLASS:Button]")

Если код выбора файла вывести в другой скрипт,то работает, если вместе,то нет.
Снять выделение с IE _IELoadWait($oIE) ,тоже не получается.
 

Dima1337

Осваивающий
Сообщения
186
Репутация
24
Исходя из этого примера:
Код:
#include <IE.au3>

$sUrl = 'https://jpg2pdf.com/ru/'
$btnId = 'pick-files'
$win = '[CLASS=#32770]'

$oIE = _IECreate($sUrl) ;Открываем вирустотал
_IELoadWait($oIE, 10) ;Ждем прогрузки страницы !Важно!
$button = _IEGetObjById ($oIE, $btnId) ;Получаем кнопку

AdlibRegister("MyAdlib", 1000) ;Вызываем функцию которая выполнится после открытия окна
_IEAction($button, 'click');Открываем окно

MsgBox(0,'Test2','Test2')

Func MyAdlib()
    MsgBox(0,'Test','Test')
    AdlibUnRegister("MyAdlib")
EndFunc


Скрипт стоит на паузе пока окно выбора не пропадет. Я могу ошибаться но это не лечится.
В качестве решения можно разбить код на два файла, и перед нажатием на кнопку запускать вторую часть кода.

Вот что ответил поиск по форуму: http://autoit-script.ru/index.php?topic=1516.0
 
Последнее редактирование:
  • Like
Реакции: Qurt
Автор
Q

Qurt

Новичок
Сообщения
8
Репутация
0
Dima1337,спасибо за ответ.
В примере тоже на 2 файла разбивают. Не очень выглядит.Хотелось вообще без этого окна "выгрузки файла" сделать.
 
Верх