Планируется ли вообще реализация подобных фич? Потому что даже nodeJS с его JSDOM не помогает блять. Это просто пиздец. Задача проще простого, обнаружить на страницы элементы для нажатия.
const jsdom = require('jsdom');
const { JSDOM } = jsdom;
// HTML код, который вы хотите анализировать
const html = [[SAVED_PAGE_HTML]];
// Создаем виртуальное окружение DOM с помощью jsdom
const dom = new JSDOM(html);
// Получаем глобальный объект window из виртуального окружения
const { window } = dom;
// Доступ к DOM виртуального окружения
const document = window.document;
// Функция для имитации getEventListeners
function getEventListeners(element) {
// Создаем пустой объект для хранения событий
const eventListeners = {};
// Получаем список обработчиков событий для элемента
const eventNames = Object.keys(element._events || {});
// Проходим по каждому типу события
eventNames.forEach(eventName => {
// Получаем обработчики для данного типа события
const handlers = element._events[eventName];
// Добавляем в объект eventListeners
eventListeners[eventName] = handlers.map(handler => handler.listener);
});
return eventListeners;
}
// Проходим по элементам DOM и анализируем обработчики событий
const allElements = document.querySelectorAll('*');
const elementsWithClickEvents = [];
allElements.forEach(function(element) {
const clickEvents = getEventListeners(element).click;
if (clickEvents && clickEvents.length > 0) {
elementsWithClickEvents.push(element);
}
});
// Выводим элементы с обработчиками событий click
console.log('Элементы с обработчиками событий click:', elementsWithClickEvents);
[[RESULT]] = elementsWithClickEvents
Мне серьёзно парсить сидеть //button и прочую ебалу? А div элементы как прикажите искать?