Code to Delete all Watch Later youtube Playlist
1. Code is Copy from the Github Link
/youtube_clean_watch_later_videos.js2. Paste the Below code to the console of youtube videos
3.Open Youtube and select watch later in Desktop and then ctrl+shift+j and then paste code in console
4.Code---------------->
// This script will remove all videos from watch later list
//
// Usage
//
// #1 go to https://www.youtube.com/playlist?list=WL
// #2 run following script in your browser console
// adjust REMOVE_BUTTON_TEXT accordingly to your language, see examples below
(async function() {
const REMOVE_BUTTON_TEXT = 'Remove from Watch later'
// de-DE: const REMOVE_BUTTON_TEXT = 'Aus "Später ansehen" entfernen'
// pt-BR: const REMOVE_BUTTON_TEXT = 'Remover de Assistir mais tarde'
// swe-SE: const REMOVE_BUTTON_TEXT = 'Ta bort från Titta senare'
// zh-Hans-CN: const REMOVE_BUTTON_TEXT = '从稍后观看中移除'
const playlistName = document.querySelector("#title a").text
if(!confirm(`Are you sure to delete ALL videos from ${playlistName}?`)) {
return
}
console.info("start...")
while(true) {
const videos = document.querySelectorAll('#primary ytd-playlist-video-renderer')
if(videos.length == 0) break
for (let videoElement of videos) {
const videoTitle = videoElement.querySelector('a#video-title')
console.info(`Remove Video\n`
+ ` Title: ${videoTitle.innerText}\n`
+ ` URL: ${videoTitle.href}`)
const actionMenuButton = videoElement.querySelector('#menu #button')
console.debug("click actionMenuButton", actionMenuButton)
actionMenuButton.click()
const removeButton= await untilDefined(() => {
for (const actionMenu of [...document.querySelectorAll('ytd-popup-container > tp-yt-iron-dropdown')]) {
if(actionMenu => actionMenu.style.display !== "none") {
for (const actionButton of [...actionMenu.querySelectorAll('tp-yt-paper-item')]) {
if(actionButton.innerText.trim().toLowerCase() === REMOVE_BUTTON_TEXT.toLowerCase()){
return actionButton
}
}
}
}
console.debug("wait for removeButton")
})
console.debug("click removeButton", removeButton)
removeButton.click()
await sleep(200)
}
}
console.info("done!")
// === util functions ========================================================
async function sleep (timeout) {
return new Promise(res => setTimeout(res, timeout))
}
async function untilDefined(factory, checkInterval = 100) {
while (true) {
const value = factory()
if (value != null) return value
await sleep(checkInterval)
}
}
})();
Comments
Post a Comment