UPDATED 22.11.2022
It's been two years since the last update, so here's the updated working script as per the comments below.
Thanks to BryanHaley for this.
setInterval(function () {
video = document.getElementsByTagName('ytd-playlist-video-renderer')[0];
video.querySelector('#primary button[aria-label="Action menu"]').click();
var things = document.evaluate(
'//span[contains(text(),"Remove from")]',
document,
null,
XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
null
);
for (var i = 0; i < things.snapshotLength; i++)
{
things.snapshotItem(i).click();
}
}, 500);
Non-english users will need to change "Action menu" and "Remove from" to what YouTube uses for their localization.
For everyone using a different language you have to update:
1:
aria-label="HERE"
and
2:
'//span[contains(text(),"HERE")]',
The second one is just the content of the "Remove from playlist button", press on the 3 dots and copy the text. Just some words is okay, e.g "Remove from" is totally fine.
Number 1 is a bit more tricky, to find it you have to inspect the 3 dots button (right click => inspect or something simillar)
It looks like this:
(Make sure to inspect the button not the icon, just inspect a bit on the side from the three dots.)
From there you have to use the content of the
aria-label