1

Я пытаюсь скачать PDF-файлы по этой ссылке. При нажатии на кнопку « Читать PDF» открывается новое окно с PDF. При нажатии на кнопку загрузки он открывает диалоговое окно и просит пользователя указать место для сохранения файла.

После открытия веб-страницы соответствующей электронной книги я хочу автоматизировать следующие шаги:

  1. Чтение PDF нажата. Окно открывается в новом окне.
  2. Нажмите значок загрузки . Появится диалоговое окно с просьбой указать имя файла и местоположение.
  3. Предоставленное имя по умолчанию является своего рода бредом. Таким образом, значимое имя, такое как Frontmatter, Contents и т.д., Перенесено туда, которое упоминается перед ссылкой для скачивания и было скопировано ранее.

Я хочу автоматизировать описанные выше шаги для многих электронных книг. Если бы ссылки были в не-javascript форме, было бы легко скачать их с помощью какого-то менеджера загрузок.

(PS. На данной веб-странице могут быть активированы не все ссылки для чтения PDF, но все они активны за прокси-сервером в моем местоположении.)

1 ответ1

1

Я написал следующий JavaScript для вас:

var ar = $('a.pdf-icon').each(function (a) 
{
  var ar = $(this).attr('onclick').split("'"); 
  var url = "http://ebooks.cambridge.org/open_pdf/" 
           + ar[3] 
           + "?pubCode=CUP&urlPrefix=cambridge&productCode=cbo";   
  alert("Press OK for next download");
  window.open(url);
});

Чтобы выполнить его, откройте страницу, которую вы указали в своем вопросе, откройте консоль JavaScript (CTRL+SHIFT+I), вставьте приведенный выше код в консоль и нажмите клавишу возврата. Затем он загрузит все связанные PDF-файлы.

Пожалуйста, обратите внимание:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .