Удалить все треки из "Мне нравится" в Яндекс.Музыке

Рейтинг: 1Ответов: 2Опубликовано: 14.08.2023

Задача - очистить плейлист "Мне нравится" в Yandex.Music

Пока не вижу вариантов кроме как написать скрипт для удаления каждого из треков. В коде вижу, что jQuery подключен.

Ответы

▲ 1Принят

Можете попробовать вот так, у меня получилось

var tmtime = 0;
for (var i = 0; i < 10000; i++) {
tmtime = tmtime + 500;
setTimeout(function(){
jQuery(document).find('.d-track__delete').first().click();
}, tmtime);
}

https://dzen.ru/a/YisilaW0EVL0Utft?utm_referer=www.google.com

▲ 0

Спасибо @Julia Belova. Доработал ее ответ. Получился букамрклет, который можно сохранить в закладки - https://codepen.io/ink-jet/pen/MWzNyWd

Но выяснил, что функция реализована в расширении - YaMuTools, его использовать проще.

// Основано на https://dzen.ru/a/YisilaW0EVL0Utft

// TODO: confirm PopUp

$("#clone").click(function()
{
  /*
  //console.group('intr')
  $('html,body').animate({scrollTop: document.body.scrollHeight},"slow")
  let intr = setInterval(function()
  {
    let el = document.querySelector(".page-playlist__tracks-list").querySelectorAll('.d-track__delete')[0]
    if (!!!el) clearInterval(intr)
      else el.click()
    console.info("Removing track...")
  }, 512)
  //console.groupEnd('intr')
  */

// === https://minify-js.com/ ===
$('html,body').animate({scrollTop:document.body.scrollHeight},'slow');let intr=setInterval((function(){let e=document.querySelector('.page-playlist__tracks-list').querySelectorAll('.d-track__delete')[0];e?e.click():clearInterval(intr),console.info('Removing track...')}),512);
   
})



for (let i = 0; i < 6; i++)
{
  function draw()
  {
    let k = i
    setTimeout(function()
    {
      let p = $(".page-playlist__tracks-list").find('.d-track__delete').first()
      p.clone().appendTo(p.parent())
    }, 200*k)
  }
  draw()
 }


$(document).on('click', '.d-track__delete', function () {
    $(this).remove()
});
<hr /><html>
<head>
<script src="https://code.jquery.com/jquery-3.7.0.min.js" integrity="sha256-2Pmvv0kuTBOenSvLm6bvfBSSHrUJ+3A7x6P5Ebd07/g=" crossorigin="anonymous"></script>
</head>
  <body>
    <div>
      <h3>Just drag&drop the link below to the bookmark bar to save Yandex.Music clear playlist script as bookmarklet<br /><hr /><big><a href="#">Yandex.Music Clear PL bookmarklet</a></big></h3>
    </div>
    <hr />
    <div>
      <button id="clone">Push me to test the script</button> <span>that helps to remove all tracks from Yandex Music</span>
    </div>
    <hr />
    <div class="page-playlist__tracks-list">
      <div class="d-track__delete">This is a track delete emulation <b>button</b> like in Yandex.Music PL</div>
    </div>
    <div>
      <p>Яндекск Музыка &mdash; удалить все треки из плейлиста.
</p>
<p>
        Букмарклет в ссылке выше позволяет быстро удалить все треки из "Мне нравится" в Яндекс.Музыке.
</p>
<p>
Просто перетащите ссылку в панель закладок и пользуйтесь.</p>
      <br />
      <br />
      <br />
    </div>
  </body>
</html>