Заметки

Итерация элементов JavaScript на примере отписки от mail.ru

Почта mail периодически спрашивает о настройках на сбор персональной инфы, но в диалоговом окне открывается примерно 1 тысяча чекбоксов, при высоте окна 4см.

Для решения проблемы в консоли можно запустить такое:

var links = document.querySelectorAll('[data-cmp-vendor="-1"]');
Array.from(links).forEach(button=>button.click())

var links = document.querySelectorAll('[data-cmp-purpose="-1"]');
Array.from(links).forEach(button=>button.click())

 

После запуска скрипта браузер подвиснет на несколько секунд. Зато произойдет отписка от 1000 пунктов по сбору персональной информации.

 

    (async () => {
        let idx = 0
        let items = document.querySelectorAll(".CQRky");
        while (idx < items.length) {
            let el = items[idx];
            idx++;

            await new Promise((resolve) => {
                setTimeout(
                    () => {
                        el.click();
                        console.log(idx);
                        resolve(true);
                    }, 100+Math.random() * 100
                )
            });
        }
    })()

 

Афоризм дня:
Мудрость – царица неба и земли. (538)

Leave a reply

Яндекс.Метрика