<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[getEventListeners]]></title><description><![CDATA[<p dir="auto">Планируется ли вообще реализация подобных фич? Потому что даже nodeJS с его JSDOM не помогает блять. Это просто пиздец. Задача проще простого, обнаружить на страницы элементы для нажатия.</p>
<pre><code>const jsdom = require('jsdom');
const { JSDOM } = jsdom;

// HTML код, который вы хотите анализировать
const html = &lsqb;&lsqb;SAVED_PAGE_HTML&rsqb;&rsqb;;

// Создаем виртуальное окружение 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 =&gt; {
        // Получаем обработчики для данного типа события
        const handlers = element._events[eventName];
        // Добавляем в объект eventListeners
        eventListeners[eventName] = handlers.map(handler =&gt; handler.listener);
    });

    return eventListeners;
}

// Проходим по элементам DOM и анализируем обработчики событий
const allElements = document.querySelectorAll('*');
const elementsWithClickEvents = [];
allElements.forEach(function(element) {
    const clickEvents = getEventListeners(element).click;
    if (clickEvents &amp;&amp; clickEvents.length &gt; 0) {
        elementsWithClickEvents.push(element);
    }
});

// Выводим элементы с обработчиками событий click
console.log('Элементы с обработчиками событий click:', elementsWithClickEvents);
&lsqb;&lsqb;RESULT&rsqb;&rsqb; = elementsWithClickEvents
</code></pre>
<p dir="auto">Мне серьёзно парсить сидеть //button и прочую ебалу? А div элементы как прикажите искать?</p>
]]></description><link>http://community.bablosoft.com/topic/28084/geteventlisteners</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Apr 2026 08:11:29 GMT</lastBuildDate><atom:link href="http://community.bablosoft.com/topic/28084.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 07 May 2024 23:39:23 GMT</pubDate><ttl>60</ttl></channel></rss>