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.
It's insane to me that in 2022 this is still the only way to clear YouTube's Watch Later, and with much pain involved because you hit their stupid rate limit after 200 requests.
I have a Pi Hole and other blockers so YouTube can't tell when a video is 'watched'.
I have around 3,000 videos to clear. It always takes hours as it gets this way every few months.