Извлечение js кода из onclick`а в span`е
На сайте есть список ссылок, код выглядит следующим образом:
...
<div id="start-ads-575368">
<span onclick="if (!window.__cfRLUnblockHandlers) return false; funcjs['start_youtube'](575368, 'b547e1897655c8ed23240e6396e0c838', 'ads-start', 'ads');" title="https://www.youtube.com/watch?v=QbJGcCEd9Qg" style="cursor:pointer;color:#006699;">Посмотреть видео</span><br>
<span class="serf-text">Просмотр видеоролика</span>
</div>
...
<div id="start-ads-577639">
<span onclick="if (!window.__cfRLUnblockHandlers) return false; funcjs['start_youtube'](577639, '464bc1202c4d593fe9675385595da247', 'ads-start', 'ads');" title="https://www.youtube.com/watch?v=1aXXArDCfq4" style="cursor:pointer;color:#006699;">Посмотреть видео</span><br>
<span class="serf-text">Просмотр видеоролика</span>
</div>
...
Вопрос двойной, один из вариантов подойдёт:
- Как обратиться по шаблону "start-ads-", чтобы потом произвести
click(); - Как вытащить содержимое
onclick, чтобы выполнить функциюfuncjs['start_youtube']имеющуюся на сайте
Ответы (1 шт):
Автор решения: Pavel Nazarian
→ Ссылка
//обратиться по шаблону (^ - начинается с ...)
let divs = document.querySelectorAll("[id^='start-ads']");
let div_ids = [...divs].map(item => item.id)
console.log(div_ids);
//функции
let spans = document.querySelectorAll('div span:first-child');
let fc = [...spans].map(item => item.getAttribute('onclick').split(';')[1].trim())
console.log(fc)
<div id="start-ads-575368">
<span onclick="if (!window.__cfRLUnblockHandlers) return false; funcjs['start_youtube'](575368, 'b547e1897655c8ed23240e6396e0c838', 'ads-start', 'ads');" title="https://www.youtube.com/watch?v=QbJGcCEd9Qg" style="cursor:pointer;color:#006699;">Посмотреть видео</span><br>
<span class="serf-text">Просмотр видеоролика</span>
</div>
<div id="start-ads-577639">
<span onclick="if (!window.__cfRLUnblockHandlers) return false; funcjs['start_youtube'](577639, '464bc1202c4d593fe9675385595da247', 'ads-start', 'ads');" title="https://www.youtube.com/watch?v=1aXXArDCfq4" style="cursor:pointer;color:#006699;">Посмотреть видео</span><br>
<span class="serf-text">Просмотр видеоролика</span>
</div>