Имитировать нажатие на кнопки на странице через скрипт tampermonkey
Если на странице https://edr-info.com/ru/customer-search в самом выбрать вариант "Искать физических лиц-предпринимателей" и внизу нажать "Поиск", то появляется список предпринимателей.
Адрес скрыт под кнопкой, вот так: ![]() Нужно с помощью JS через tampermonkey пробежаться по кнопкам на странице и понажимать на них, чтобы адреса на странице были все видны. Через поиск нашел похожий код, подправил, добавил его в tampermonkey, но он что-то не срабатывает... Вот код скрипта с помощью которого пробовал прокликать адреса на странице: // ==UserScript== // @name Tert script // @namespace [url]http://tampermonkey.net/[/url] // @version 0.1 // @description try to take over the world! // @author You // @match [url]https://edr-info.com/ru/customer-search[/url] // @grant none // ==/UserScript== (function() { 'use strict'; document.querySelector ( "d-flex align-items-center text-uppercase i[type='far fa-eye text-info pointer'] i" ).click(); })(); Вот кусок кода с кнопкой с классами: <div class="d-flex align-items-center text-uppercase"><i class="fas fa-map-marker-alt pref-icon"></i> <span><!----> <i class="far fa-eye text-info pointer"> Посмотреть</i></span></div> Подскажите, пожалуйста, какой код скрипта сможет решить задачу. Заранее благодарен за помощь |
realmen80,
document.querySelectorAll('i.far.fa-eye.text-info.pointer').forEach(i => i.click()); |
рони, спасибо за ответ.
Но что-то тоже не срабатывает у меня. Вот показывает что скрипт выполняется, но не прокликаны кнопки: ![]() Вот такой сейчас код скрипта: // ==UserScript== // @name Tert script // @namespace [url]http://tampermonkey.net/[/url] // @version 0.1 // @description try to take over the world! // @author You // @match [url]https://edr-info.com/ru/customer-search[/url] // @grant none // ==/UserScript== (function() { 'use strict'; document.querySelectorAll('i.far.fa-eye.text-info.pointer').forEach(i => i.click()); })(); |
Цитата:
(function() { 'use strict'; const f = () => { document.querySelectorAll('i.far.fa-eye.text-info.pointer').forEach(i => i.click()); window.setTimeout(f, 1000) }; f(); })(); |
рони, спасибо за помощь. Запуск в ручном режиме приведенного вами кода скрипта помогает - прокликивает кнопки, после загрузки информации.
Не пойму, почему этот же код не срабатывает в автоматическом режиме через tampermonkey? Если я правильно понимаю, то строка window.setTimeout(f, 1000) указывает задержку во времени через которую должен выполниться скрипт, это нужно для того, чтобы сначала загрузились блоки с информацией путем нажатия на кнопку "Поиск", а уже после этого чтобы отработал скрипт. Я установил больше задержку window.setTimeout(f, 7000) , но автоматически скрипт не отрабатывает через tampermonkey. Когда запускаю вручную - все отлично работает. |
Код:
// ==UserScript== |
Часовой пояс GMT +3, время: 18:19. |