AppleInsider.ru
X
О проекте Реклама
Чат
с читателями
Присоединяйтесь
в Телеграме

[Mac OS X] Автоматизируем загрузку клипов YouTube

Не так давно я описывал способ загрузки клипов с YouTube при помощи окна Активности в Safari. Давайте попробуем автоматизировать этот процесс при помощи AppleScript. В этом случае нам будет достаточно открыть в Safari страницу, содержащую видео и запустить скрипт, который откроет окно Активности, найдет в нем ссылку на файл videoplayback и скопирует ее в окно со списком загрузок, в результате чего файл будет скачан.

Есть один нюанс: необходимо, чтобы кнопка списка загрузок была доступна на панели инструментов Safari, для чего достаточно, чтобы этот список не был пустым:

Если при запуске скрипта, кнопка списка загрузок не будет доступна (т.е. этот список будет пуст), скрипт предложит выход из ситуации:

Еще один нюанс. Скрипт ищет ссылку на файл по имени videoplayback, т.е. работать он будет только для YouTube. Для других подобных сервисов нужно выяснить имя файла и внести изменение во вторую строчку скрипта.

Итак, приступим

Запустите приложение Редактор AppleScript (ПрограммыУтилиты). Затем, в открывшееся окно скопируйте этот текст:

try
set _videoName to "videoplayback"
set _downloadButtonAvailable to true
tell application "Safari" to activate
-- delay 0.5
tell application "Safari" to set _windowName to name of current tab of window 1
tell application "System Events"
tell process "Safari"
try
set _downloadButton to item 1 of (every button whose description = "Загрузки") of tool bar 1 of window _windowName
on error a number b
set _downloadButtonAvailable to false
end try
tell menu item "Активность" of menu "Окно" of menu bar item "Окно" of menu bar 1 to click
try
window "Активность"
on error a number b
tell menu item "Активность" of menu "Окно" of menu bar item "Окно" of menu bar 1 to click
end try
-- delay 0.5
tell outline 1 of scroll area 1 of window "Активность"
set _count to count of rows
try
repeat with i from 1 to _count
tell group 1 of row i
try
try
set _triangleValue to value of UI element 1
if _triangleValue = 1 then
tell UI element 1 to click
-- delay 0.2
end if
tell text field 1 to set _value to value
if _value = _windowName then exit repeat
end try
value of text field 1
on error a number b
exit repeat
end try
end tell
end repeat
end try
set _count to count of rows
repeat with n from 1 to _count
try
tell group 1 of row n
tell text field 1 to set _value to value
if _value = _windowName then
set _row to n
set _triangleValue to value of UI element 1
if _triangleValue = 0 then tell UI element 1 to click
exit repeat
end if
end tell
end try
end repeat
set _count to count of rows
repeat with x from _row to _count
try
tell row x
tell text field 1 to set _value to value
if _value contains _videoName then
set _url to value of text field 1
if _downloadButtonAvailable = false then select
exit repeat
end if
end tell
end try
end repeat
end tell
try
_url
on error a number b
error "Ссылка на '" & _videoName & "' не найдена."
end try
if _downloadButtonAvailable = true then tell menu item "Активность" of menu "Окно" of menu bar item "Окно" of menu bar 1 to click
end tell
end tell
if _downloadButtonAvailable = false then
tell application "Safari"
activate
display dialog "Кнопка 'Показать загрузки' не активна.\n
Найдите в открывшемся окне 'Активность' выделенную строку со ссылкой. Удерживая клавишу Alt, сделайте двойной клик по этой строке для загрузки '" & _videoName & "'." with title "Загрузчик YouTube-видео для Safari"
end tell
else
set the clipboard to _url
-- delay 0.5
tell application "System Events"
tell process "Safari"
try
pop over 1 of _downloadButton
on error a number b
click _downloadButton
end try
set focused of list 1 of scroll area 1 of pop over 1 of _downloadButton to true
end tell
-- delay 0.5
keystroke "v" using command down
end tell
end if
on error a number b
if a does not contain "Пользователь удален." then tell application "Safari" to display dialog a with title "Загрузчик YouTube-видео для Safari"
end try

Нажмите кнопку Компилировать в панели инструментов. Затем нажмите комбинацию клавиш Cmd+S и в диалоге сохранения выберите папку Программы, введите название, например, GetVideo, выберите формат файла – Программа, затем нажмите кнопку Сохранить. Т.е. все действия аналогичны тем, что описаны и показаны на картинках в этой статье.

Для удобства вытащите из папки Программы вашу новую утилиту в Dock.

P.S.

Этот скрипт был найден на одном из англоязычных форумов и адаптирован мной для русской локализации. 🙂

Удачи!

Новости по теме
Что такое вибрационные динамики, чем они отличаются от обычных и зачем нужны в iPad mini
Apple временно заблокировала установку iOS 26.2 Beta 1 для части новых устройств. Что произошло?
Вышла новая прошивка для AirPods Pro 3 и других наушников компании. Как установить обновление?
Новости партнеров
Почему некоторые люди часто произносят звук «э-э» между фразами
Почему некоторые люди часто произносят звук «э-э» между фразами
Аналитики JPMorgan указали на новое дно для курса Биткоина. До какого уровня может упасть криптовалюта?
Аналитики JPMorgan указали на новое дно для курса Биткоина. До какого уровня может упасть криптовалюта?
Вышел недорогой и компактный смартфон OPPO Reno15 с топовой камерой до 35 тысяч рублей
Вышел недорогой и компактный смартфон OPPO Reno15 с топовой камерой до 35 тысяч рублей