Автор Тема: Как скачать файл, находящийся под ссылкой на javascript?  (Прочитано 6236 раз)

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

Оффлайн Се-рё-жа [?]

  • Новичок
  • *
  • Сообщений: 12
  • Репутация: 0
  • Пол: Мужской
    • Награды
Добрый день!
На странице по ссылке скачивается файл. Причем, сначала спрашивается что нужно сделать(открыть или сохранить), затем куда сохранить? Мне требуется автоматически сохранить файл в известную директорию. Ссылка организована следующим образом:

<a id="prFrm134028234" class="iceOutLnk" href="javascript:" onclick="downloadDocument(134028234);return false;">
<script type="text/javascript">var $j=jQuery.noConflict();$j(document).ready(function() {$j('#prFrm134028234').qtip({content: 'Позволяет открыть печатную форму документа или скачать прикрепленный файл.',position:{target: 'mouse', adjust: {mouse: true, screen: true}},api: {onRender: function(){$j('#prFrm134028234').bind('mousedown', this.hide); $j('#prFrm134028234').bind('#keydown', this.hide);}}});});</script>
 <span style="font-weight: bold;">  Аукционная документация.doc № 0312200002413002268   от 21.12.2013 </span></a>

Скрин того, что вылезает при клике на ссылку прикреплен.
Помогите пожалуйста!

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

Как скачать файл, находящийся под ссылкой на javascript?
« Отправлен: Декабрь 21, 2013, 18:49:33 »

Оффлайн Се-рё-жа [?]

  • Новичок
  • *
  • Сообщений: 12

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
Оказывается можно запускать javascript сценарий через адресную строку (букмарклет). Только, что-то у меня не удается выполнить даже простейший сценарий...
Код: AutoIt [Выделить]
;пробуем запустить букмарклет javascript
#include <IE.au3>
#include <file.au3>
#include <Inet.au3>

    $hWnd = WinGetHandle('[CLASS:IEFrame]')            
    $oIE =_IEAttach($hWnd, 'embedded',1)
    $sUrl = _IEPropertyGet($oIE, 'locationURL')
    MsgBox(0, 'Сообщение', $sUrl)
    _IENavigate ($oIE,'javascript:alert\("I am bookmarklet"\)',1)


Браузер не выполняет никаких движений.

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 4003
  • Репутация: 960
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Се-рё-жа  [?]
Цитировать
Причем, сначала спрашивается что нужно сделать(открыть или сохранить), затем куда сохранить?
Почему бы просто не отключить запрос на скачивание файлов?
Нажмите для отображения изображения в оригинальном размере.


Добавлено: Декабрь 23, 2013, 23:55:09
P.S. Да когда же это закончится???
Цитировать
Wrong value type sent to the database. Array of integers expected. (attachment_list)


Добавлено: Декабрь 23, 2013, 23:58:32
Цитировать
Вы не можете зайти в этот раздел
« Последнее редактирование: Декабрь 23, 2013, 23:58:32 от Garrett, Причина: Объединение сообщений »

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




Оффлайн Се-рё-жа [?]

  • Новичок
  • *
  • Сообщений: 12

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
Файлы с каждой такой страницы необходимо сохранить в свою директорию с уникальным именем, построенным из информации с другой страницы. Потом, там запрос какой-то скриптовый. К примеру страница ссылка:http://zakupki.gov.ru/pgz/public/action/orders/info/order_document_list_info/show?notificationId=8178459 [nonactive]. Похоже изображение, которое я прикрепил, не доступно(или только для меня?). Что закончится? - мне не понятно...

Нашел на форуме тему http://autoit-script.ru/index.php/topic,8151.0.html. Может эта функция как-раз мне поможет?
Код: AutoIt [Выделить]
Буду разбираться.

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

Re: Как скачать файл, находящийся под ссылкой на javascript?
« Ответ #3 Отправлен: Декабрь 24, 2013, 00:45:52 »

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 4003
  • Репутация: 960
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
OffTopicСе-рё-жа  [?]
Цитировать
Похоже изображение, которое я прикрепил, не доступно(или только для меня?)
Не только.

Цитировать
Что закончится? - мне не понятно

Вот это:
Цитировать
Похоже изображение, ... не доступно

Оффлайн Се-рё-жа [?]

  • Новичок
  • *
  • Сообщений: 12

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
Итак, в коде:
 <a id="prFrm134028234" class="iceOutLnk" href="javascript:" onclick="downloadDocument(134028234);return false;">
<script type="text/javascript">var $j=jQuery.noConflict();$j(document).ready(function() {$j('#prFrm134028234').qtip({content: 'Позволяет открыть печатную форму документа или скачать прикрепленный файл.',position:{target: 'mouse', adjust: {mouse: true, screen: true}},api: {onRender: function(){$j('#prFrm134028234').bind('mousedown', this.hide); $j('#prFrm134028234').bind('#keydown', this.hide);}}});});</script>
 <span style="font-weight: bold;">  Аукционная документация.doc № 0312200002413002268   от 21.12.2013 </span></a>

-присутствует javascript-овая функция downloadDocument(134028234), обращение к которой происходит по клику мыши. Покопавшись в сценариях страницы, нашел её: function downloadDocument(a){window.open(appRoot+"/documentdownload?documentId="+a,"")}
- таки где (a)=(134028234). Т.е. мне нужно выполнить скрипт: window.open(appRoot+"/documentdownload?documentId=134028234","")
Вот так он выполняется:

Код: AutoIt [Выделить]
#include <IE.au3>
$oIE = _IECreate ('http://zakupki.gov.ru/pgz/public/action/orders/info/order_document_list_info/show?notificationId=8180433')
$JS='{window.open(appRoot+"/documentdownload?documentId=134385071","")}'
$oIE.document.parentWindow.execScript($JS)


или так:

Код: AutoIt [Выделить]
 #include <IE.au3>
$oIE = _IECreate ('http://zakupki.gov.ru/pgz/public/action/orders/info/order_document_list_info/show?notificationId=8180433')
 $JS='{window.open(appRoot+"/documentdownload?documentId=134385071","")}'
 _IEHeadInsertEventScript ($oIE, "window", "onbeforeunload",$JS)
 _IENavigate ($oIE,'about:blank')


Далее оказывается, что это просто обращение к странице, где appRoot=http://zakupki.gov.ru/pgz. Т.е. мне нужно обратится к ссылка:http://zakupki.gov.ru/pgz/documentdownload?documentId=134028234 [nonactive], и указать путь сохранения.
Продолжим завтра...

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 4003
  • Репутация: 960
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Се-рё-жа  [?]
Цитировать
Продолжим завтра...
Отчего же завтра :)

Цитировать
Т.е. мне нужно обратится к http://zakupki.gov.ru/pgz/documentdownload?documentId=134028234, и указать путь сохранения.
Код: AutoIt [Выделить]
Local $hDownload = InetGet("http://zakupki.gov.ru/pgz/documentdownload?documentId=134028234", @ScriptDir & "\Аукционная документация.doc", 1, 1)
Do
    Sleep(250)
Until InetGetInfo($hDownload, 2)


Оффлайн Се-рё-жа [?]

  • Новичок
  • *
  • Сообщений: 12

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
Да, именно так все и работает!  :)
Спасибо!

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

Re: Как скачать файл, находящийся под ссылкой на javascript?
« Ответ #7 Отправлен: Декабрь 25, 2013, 09:00:33 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
16 Ответов
11194 Просмотров
Последний ответ Сентябрь 21, 2010, 16:40:20
от dwerf
6 Ответов
6494 Просмотров
Последний ответ Январь 25, 2011, 03:25:05
от Pavel
5 Ответов
3702 Просмотров
Последний ответ Июнь 09, 2011, 21:06:15
от edward_freedom
2 Ответов
2239 Просмотров
Последний ответ Август 15, 2012, 13:27:08
от CreatoR
3 Ответов
1265 Просмотров
Последний ответ Октябрь 22, 2015, 15:52:02
от madmasles
1 Ответов
1651 Просмотров
Последний ответ Февраль 25, 2016, 20:28:07
от alex33
0 Ответов
581 Просмотров
Последний ответ Май 21, 2016, 12:45:02
от joker2d
4 Ответов
1163 Просмотров
Последний ответ Октябрь 21, 2016, 09:03:08
от SNAK
2 Ответов
1101 Просмотров
Последний ответ Октябрь 09, 2017, 19:53:56
от andre213
14 Ответов
1242 Просмотров
Последний ответ Октябрь 09, 2017, 23:50:58
от Garrett