Автор Тема: Пример выбора и загрузки файла через IE  (Прочитано 5335 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн alex33 [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1419
  • Репутация: 177
  • Пол: Мужской
    • alekssamos ВКонтакте
    • Награды
  • Версия AutoIt: 3.3.12.0
Вот пример того, как можно нажать на кнопку выбора файлов, дождаться нужного окна, вписать путь и имя файла и нажать ОК / Открыть.
Пример для rghost:
Код: AutoIt [Выделить]
#include <IE.au3>
Global $oIE = _IECreate("http://rghost.ru/")
Global $iTimer=TimerInit()
$oIE.navigate('javascript:document.getElementById("choose").click();void(0);',0)
ConsoleWrite("===time: "&TimerDiff($iTimer)&"==="&@CRLF)
;Beep(900, 1000)
Global $sFilePath=@ScriptFullPath
Global $hwnd=WinWait("Выбор выкладываемого файла","",5)
If Not $hwnd Then Exit 2
ControlSetText($hwnd,"","Edit1",$sFilePath)
Sleep(3000); задержка, чтобы было видно
ControlClick($hwnd,"","Button1")
 

Код кнопки выбора файла: <input id="choose" name="file" size="50" type="file" />
P.S. У меня этот код работает.

Русское сообщество AutoIt

Пример выбора и загрузки файла через IE
« Отправлен: Май 23, 2015, 11:07:16 »

Оффлайн inververs [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 2135
  • Репутация: 461
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Только в русской локализации будет работать.


Добавлено: Май 23, 2015, 11:40:13
Если два браузера откроют такое же окно, то тоже не сработает.

Оффлайн alex33 [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1419

  • Автор темы
  • Репутация: 177
  • Пол: Мужской
    • alekssamos ВКонтакте
    • Награды
  • Версия AutoIt: 3.3.12.0
Только в русской локализации будет работать.
Ну это да... Просто у этого окна есть ещё класс #32770, но он не уникальный (может встретиться где-нибудь ещё), по этому я и сделал поиск по заголовку title.
Можно как вариант написать примерно так:
Код: AutoIt [Выделить]
WinWait("[REGEXPTITLE:(Выбор выкладываемого файла|Select file); CLASS:#32770]", "", 5)


Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 4003
  • Репутация: 960
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
alex33
Это не полезняшка это частный случай!
Ели вы хотите сделать полезняшку, то унифицируйте свой код.

alex33  [?]
Цитировать
нажать на кнопку выбора файлов
Выбор файла

P.S. Пользуйтесь поиском!

Скорблю и помню.




Русское сообщество AutoIt

Re: Пример выбора и загрузки файла через IE
« Ответ #3 Отправлен: Май 23, 2015, 15:13:16 »

Оффлайн kristow13 [?]

  • Новичок
  • *
  • Сообщений: 76
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Пример выбора и загрузки файла через IE
« Ответ #4, Отправлен: Июнь 02, 2015, 22:38:07 »
Подскажите а как обратится к этой же странице, тому же элементу, но по имени?
У меня на странице input type="file" name="file" не получается по вашему методу вызвать...
Код: AutoIt [Выделить]
#include <IE.au3>
Global $oIE = _IECreate("http://rghost.ru/")
Global $iTimer=TimerInit()
$oIE.navigate('javascript:document.getElementByName("file").click();void(0);',0)
ConsoleWrite("===time: "&TimerDiff($iTimer)&"==="&@CRLF)
;Beep(900, 1000)
Global $sFilePath=@ScriptFullPath
Global $hwnd=WinWait("Выбор выкладываемого файла","",5)
If Not $hwnd Then Exit 2
ControlSetText($hwnd,"","Edit1",$sFilePath)
Sleep(3000); задержка, чтобы было видно
ControlClick($hwnd,"","Button1")

Этот код не работает

Оффлайн alex33 [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1419

  • Автор темы
  • Репутация: 177
  • Пол: Мужской
    • alekssamos ВКонтакте
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Пример выбора и загрузки файла через IE
« Ответ #5, Отправлен: Июнь 02, 2015, 22:41:07 »
Код: AutoIt [Выделить]
$oIE.navigate('javascript:document.getElementsByName("file").item(0).click();void(0);',0)
 


Русское сообщество AutoIt

Re: Пример выбора и загрузки файла через IE
« Ответ #5 Отправлен: Июнь 02, 2015, 22:41:07 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
2 Ответов
3024 Просмотров
Последний ответ Август 17, 2010, 23:18:28
от Ocago
0 Ответов
2281 Просмотров
Последний ответ Июль 21, 2012, 10:06:28
от madmasles
4 Ответов
2062 Просмотров
Последний ответ Май 14, 2013, 15:27:03
от forbrock
8 Ответов
5414 Просмотров
Последний ответ Сентябрь 22, 2013, 18:30:35
от urrya
2 Ответов
2250 Просмотров
Последний ответ Ноябрь 14, 2013, 18:00:53
от Garrett
4 Ответов
1779 Просмотров
Последний ответ Март 07, 2014, 23:34:50
от InnI
4 Ответов
1388 Просмотров
Последний ответ Сентябрь 27, 2014, 23:28:15
от LoveEl
4 Ответов
1590 Просмотров
Последний ответ Ноябрь 25, 2014, 10:32:49
от Fanatmb
2 Ответов
1593 Просмотров
Последний ответ Май 23, 2015, 11:08:42
от alex33
1 Ответов
602 Просмотров
Последний ответ Август 16, 2016, 23:55:59
от joiner