Нужна идея! Как определять Cookie Consent попап на случайных сайтах и проходить его?
-
Делаю бродилку по случайным сайтам, не могу придумать как проходить вот такие всплывающие окна, когда впервые открываешь сайт. Сайты на разных языках, абсолютный рандом. Не могу подвязаться под язык или какую-то шаблонность.
Пока что, как примерный вариант вижу такое - разделить экран на 100 квадратов, и по очереди прокликать каждый квадрат пока не произойдет изменения в DOM. Звучит стрёмно, не знаю может есть что-то разумнее этого.
Еще мысль, может как-то находить самый верхний слой в DOM, у которого z-index > 1 и уже прокликивать все его элементы у которых нет потомков.
-
@centerdevs удачи в реализации, разные сайты, разные отпечатки, разные IP и заголовки, языки, куча нюансов, универсального решения скорее всего не найдете :(
-
@bigorat Спасибо, сейчас вот еще думал, и пришёл такой вариант, удалять все элементы с z-index > некоторого значения, но боюсь это может убить много лишнего )
-
@centerdevs said in Нужна идея! Как определять Cookie Consent попап на случайных сайтах и проходить его?:
@bigorat Спасибо, сейчас вот еще думал, и пришёл такой вариант, удалять все элементы с z-index > некоторого значения, но боюсь это может убить много лишнего )
Далеко не у всех элементов есть z-index. Да и в принципе, все эти всплывающие окна могут быть реализованны как угодно, от простого div'a растянутого на весь экран с прозрачным фоном, до блин, фрейма, к которому через простой js не доберёшься.
-
@centerdevs said in Нужна идея! Как определять Cookie Consent попап на случайных сайтах и проходить его?:
Сайты на разных языках,
Первое что пришло в голову: думаю у большей части сайтов вполне популярные языки, заготовить базу из сотни чек-лов и проверять совпадение слов, что бы уточнить поиск кнопки можно придумать что-то вроде кол-ва символов/слов рядом с чек-словом до и после него перед закрывающим или открывающим тегом
</ >
-
var elems = document.querySelectorAll( '*' ); var largest; var check = 0; for(i=0;i<elems.length;i++){ style = getComputedStyle(elems[i]) //console.log(style.zIndex) if(parseInt(style.zIndex) > 100){ check = style.zIndex; largest = elems[i]; largest.style.setProperty('display', 'none', 'important') largest.style.setProperty('visibility', 'hidden', 'important') //console.log(check) } } document.getElementsByTagName("body")[0].style.setProperty('overflow', 'auto', 'important') document.getElementsByTagName("body")[0].style.setProperty('position', 'relative', 'important')
Пока что такой снипет сделал, очень не плохо отрабатывает. Соберу выборку из 100 сайтов с таким попапом и попробую глянуть что где ломается, но подозреваю что где-то поломается точно.
@venom777 воуу, очень классная идея и легко реализовать, сейчас попробую как отработает )
-
@centerdevs said in Нужна идея! Как определять Cookie Consent попап на случайных сайтах и проходить его?:
Пока что такой снипет сделал, очень не плохо отрабатывает. Соберу выборку из 100 сайтов с таким попапом и попробую глянуть что где ломается, но подозреваю что где-то поломается точно.
@venom777 воуу, очень классная идея и легко реализовать, сейчас попробую как отработает )
Я имел ввиду что то вроде этого: https://codepen.io/Fox_v/pen/JjKqQwR
Кликните на кнопку "UP" 10 раз, появится div растянутый на весь экран, что бы закрыть его, нужно будет кликнуть на крестик в левом верхнем углу экрана.