Created
November 9, 2025 19:24
-
-
Save jongalloway/821e88ebcd3ba53bc0a9f60455cae4d5 to your computer and use it in GitHub Desktop.
Adobe Podcast Bulk Downloader - run in devtools console
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| (async () => { | |
| function simulateSliderDrag(sliderHandle, targetValue, defaultValue) { | |
| const track = sliderHandle.closest('.rc-slider'); | |
| if (!track) return; | |
| const trackRect = track.getBoundingClientRect(); | |
| const totalPixels = trackRect.width; | |
| const deltaUnits = targetValue - defaultValue; | |
| const deltaPixels = (deltaUnits / 100) * totalPixels; | |
| const startX = trackRect.left + (defaultValue / 100) * totalPixels; | |
| const endX = startX + deltaPixels; | |
| sliderHandle.dispatchEvent(new MouseEvent('mousedown', { bubbles: true, clientX: startX })); | |
| sliderHandle.dispatchEvent(new MouseEvent('mousemove', { bubbles: true, clientX: endX })); | |
| sliderHandle.dispatchEvent(new MouseEvent('mouseup', { bubbles: true, clientX: endX })); | |
| console.log(`🎛️ Slider moved from ${defaultValue}% to ${targetValue}%`); | |
| } | |
| const speechTarget = 60; | |
| const backgroundTarget = 20; | |
| const speechDefault = 90; | |
| const backgroundDefault = 10; | |
| const tracks = Array.from(document.querySelectorAll('[data-testid="track-list-container"] .track-item')); | |
| for (let i = 0; i < tracks.length; i++) { | |
| const track = tracks[i]; | |
| track.scrollIntoView({ behavior: 'smooth' }); | |
| track.click(); | |
| await new Promise(res => setTimeout(res, 1000)); | |
| const speechSlider = document.querySelector('[data-testid="speech-strength-container"] .rc-slider-handle'); | |
| const backgroundSlider = document.querySelector('[data-testid="background-strength-container"] .rc-slider-handle'); | |
| if (speechSlider && backgroundSlider) { | |
| simulateSliderDrag(speechSlider, speechTarget, speechDefault); | |
| simulateSliderDrag(backgroundSlider, backgroundTarget, backgroundDefault); | |
| } else { | |
| console.warn(`⚠️ Sliders not found for track ${i + 1}`); | |
| continue; | |
| } | |
| await new Promise(res => setTimeout(res, 1000)); | |
| const downloadBtn = Array.from(document.querySelectorAll('button')) | |
| .find(btn => btn.textContent.trim().toLowerCase().includes('download')); | |
| if (downloadBtn) { | |
| downloadBtn.click(); | |
| console.log(`📥 Download triggered for track ${i + 1}`); | |
| } else { | |
| console.warn(`⚠️ Download button not found for track ${i + 1}`); | |
| } | |
| await new Promise(res => setTimeout(res, 60000)); | |
| } | |
| console.log("✅ All tracks processed and downloaded."); | |
| })(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment