Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
1 / 1 / 0
Регистрация: 11.01.2017
Сообщений: 158

Скрипт для автонажатия кнопок

23.01.2019, 23:07. Показов 3559. Ответов 25

Студворк — интернет-сервис помощи студентам
Нужен СКРИПТ, который раз в минуту прожимает последовательность следующих кнопок:
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.01.2019, 23:07
Ответы с готовыми решениями:

Нужен скрипт для кнопок
Помогите пожалуйста, нужен скрипт для кнопок. Css i HTML ниже в файлах, для кнопки"Редагувати" текст с верхнего дива скопировался...

Функция автонажатия ссылки в скрипте
Всем здравствуйте! Заранее прощу прощение, если подобная тема создавалась, но я находил только про кнопки, а не ссылки... У меня...

Автонажатия клавиш
Нужно что бы при клике на баттон происходило нажатия клавиш Ctrl+S. Нашел код: private static extern bool...

25
 Аватар для svtslv
308 / 160 / 66
Регистрация: 18.01.2019
Сообщений: 449
23.01.2019, 23:59
Цитата Сообщение от Reziko Посмотреть сообщение
Нужен СКРИПТ, который раз в минуту прожимает последовательность следующих кнопок:
Можно и по src ловить и патерн для примера можно просто сравнивать.
JavaScript
1
2
3
4
5
6
7
8
9
10
11
let b1 = [...document.querySelectorAll('button.Button.Button--primary.Button--size-m.Button--wide.Button--overflow')].filter(el => el.textContent.match(/^Рынок$/))[0]
let b2 = [...document.querySelectorAll('button.Button.Button--primary.Button--size-m.Button--wide.Button--overflow')].filter(el => el.textContent.match(/^Купить$/))[0]
let b3 = [...document.querySelectorAll('button.Button.Button--primary.Button--size-m.Button--wide.Button--overflow')].filter(el => el.textContent.match(/^Еда$/))[0]
let b4 = [...document.querySelectorAll('button.Button.Button--primary.Button--size-m.Button--wide.Button--overflow')].filter(el => el.textContent.match(/^100$/))[0]
b1.onclick = () => console.log('click')
setInterval(() => {
    setTimeout(() => b1.click(), 1000)
    setTimeout(() => b2.click(), 2000)
    setTimeout(() => b3.click(), 3000)
    setTimeout(() => b4.click(), 4000)    
}, 60000)
1
Эксперт JS
2037 / 1096 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
24.01.2019, 01:09
Reziko,

Можно так -> https://codepen.io/Mr_Sergo/pen/omXZZQ

HTML5
1
2
3
4
<button class="Button Button--primary Button--size-m Button--wide Button--overflow"><img class="emoji" src="/emoji/e/f09f8eaa.png" alt="��">Рынок</button>
<button class="Button Button--primary Button--size-m Button--wide Button--overflow"><img class="emoji" src="/emoji/e/f09f92b0.png" alt="��">Купить</button>
<button class="Button Button--primary Button--size-m Button--wide Button--overflow"><img class="emoji" src="/emoji/e/f09f8d96.png" alt="��">Еда</button>
<button class="Button Button--primary Button--size-m Button--wide Button--overflow">100<img class="emoji" src="/emoji/e/f09f8d96.png" alt="��"></button>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
let button = document.querySelectorAll('.Button.Button--primary.Button--size-m.Button--wide.Button--overflow');
let i = 0;
 
[...button].forEach(e => {
    e.addEventListener('click',()=> {
        // тут делаем что нужно при программном клике на ваши кнопки, например, выведем сообщение:
        alert('Был произведен клик по кнопке: ' + button[i].innerText);
    });
});
 
CLICK();
function CLICK(){
    if(i < button.length){
        button[i].click(), i++;
        setTimeout(() => CLICK(),2000); // тут указываете время в миллисекундах между кликами
    }
}
Добавлено через 1 час 9 минут
Все кнопки нажимаются через определенный промежуток -> https://codepen.io/Mr_Sergo/pe... itors=1010
HTML5
1
2
3
4
<button class="Button Button--primary Button--size-m Button--wide Button--overflow"><img class="emoji" src="/emoji/e/f09f8eaa.png" alt="&#55356;&#57258;">Рынок</button>
<button class="Button Button--primary Button--size-m Button--wide Button--overflow"><img class="emoji" src="/emoji/e/f09f92b0.png" alt="&#55357;&#56496;">Купить</button>
<button class="Button Button--primary Button--size-m Button--wide Button--overflow"><img class="emoji" src="/emoji/e/f09f8d96.png" alt="&#55356;&#57174;">Еда</button>
<button class="Button Button--primary Button--size-m Button--wide Button--overflow">100<img class="emoji" src="/emoji/e/f09f8d96.png" alt="&#55356;&#57174;"></button>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
let button = document.querySelectorAll('.Button.Button--primary.Button--size-m.Button--wide.Button--overflow');
let i = 0;
 
CLICK();
setInterval(() => CLICK(),5000);    // промежуток между кликами по всем кнопкам (миллисекунды)
 
[...button].forEach(e => {
    e.addEventListener('click',()=> {
        // тут делаем что нужно при программном клике на ваши кнопки, например, выведем сообщение:
        alert('Был произведен клик по кнопке: ' + button[i].innerText);
    });
});
 
function CLICK(){
    if(i < button.length){
        button[i].click(), i++;
        setTimeout(() => CLICK(),50);
    }
    else i = 0;
}
1
1 / 1 / 0
Регистрация: 11.01.2017
Сообщений: 158
24.01.2019, 12:43  [ТС]
Цитата Сообщение от svtslv Посмотреть сообщение
Можно и по src ловить и патерн для примера можно просто сравнивать.

После клика первой кнопки ждёт минуту, а затем кликает по ненужной кнопке.

Цитата Сообщение от Mr_Sergo Посмотреть сообщение
Цитата Сообщение от Mr_Sergo Посмотреть сообщение
Все кнопки нажимаются через определенный промежуток -> https://codepen.io/Mr_Sergo/pe... itors=1010



Как-то так...
0
 Аватар для svtslv
308 / 160 / 66
Регистрация: 18.01.2019
Сообщений: 449
24.01.2019, 13:01
Цитата Сообщение от Reziko Посмотреть сообщение
После клика первой кнопки ждёт минуту, а затем кликает по ненужной кнопке.
Нужная ищется по слову. Попробуй сам через консоль найди

JavaScript
1
2
3
4
let buttons = document.querySelectorAll('button.Button.Button--primary.Button--size-m.Button--wide.Button--overflow')
let b2 = [...buttons].filter(el => el.textContent == 'Рынок')[0]
let b100 = [...buttons].filter(el => el.textContent == 'Слово внутри кнопки')[0]
console.log(b2, b100)
0
1 / 1 / 0
Регистрация: 11.01.2017
Сообщений: 158
24.01.2019, 13:38  [ТС]
Находит ненужную вторую кнопку при вводе правильного слова.
0
 Аватар для svtslv
308 / 160 / 66
Регистрация: 18.01.2019
Сообщений: 449
24.01.2019, 13:53
Цитата Сообщение от Reziko Посмотреть сообщение
Находит ненужную вторую кнопку
Ну если их там несколько с одним словом можно найти по картинке
JavaScript
1
2
3
let buttons = document.querySelectorAll('button.Button.Button--primary.Button--size-m.Button--wide.Button--overflow img')
let b2 = [...buttons].filter(el => el.src.split('/').pop() == 'f09f92b0.png')[0].parentNode
console.log(b2)
Но если и текст один и картинка одна тогда нужно икать уникальный родительский элемент и тогда первый пример нужно исправить на
JavaScript
1
document.querySelectorAll('#Уникальны-ИД button.Button.Button--primary.Button--size-m.Button--wide.Button--overflow')
0
1 / 1 / 0
Регистрация: 11.01.2017
Сообщений: 158
24.01.2019, 14:13  [ТС]
А как его теперь впихнуть в тот код? Я сам попробовал, но вышло бездарно.
0
 Аватар для svtslv
308 / 160 / 66
Регистрация: 18.01.2019
Сообщений: 449
24.01.2019, 14:40
Цитата Сообщение от Reziko Посмотреть сообщение
А как его теперь впихнуть в тот код?
Поиск по картинкам вместо слов?
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
let buttons = document.querySelectorAll('button.Button.Button--primary.Button--size-m.Button--wide.Button--overflow img')
let b1 = [...buttons].filter(el => el.src.split('/').pop() == 'f09f8eaa.png')[0].parentNode
let b2 = [...buttons].filter(el => el.src.split('/').pop() == 'f09f92b0.png')[0].parentNode
 
let buttons2 = document.querySelectorAll('button.Button.Button--primary.Button--size-m.Button--wide.Button--overflow')
let b3 = [...buttons2].filter(el => el.textContent == 'Еда')[0]
let b4 = [...buttons2].filter(el => el.textContent == '100')[0]
 
b1.onclick = () => console.log('click')
setInterval(() => {
    setTimeout(() => b1.click(), 1000)
    setTimeout(() => b2.click(), 2000)
    setTimeout(() => b3.click(), 3000)
    setTimeout(() => b4.click(), 4000)   
}, 60000)
Но лучше найди родительский элемент который можно добавить картинки еще чаще слов используются.

Добавлено через 8 минут
Если совсем не критично тогда можно найти нужный элемент
JavaScript
1
2
3
4
let b2 = [...buttons].filter(el => el.textContent == 'Рынок')[0]
let b2 = [...buttons].filter(el => el.textContent == 'Рынок')[1]
....
let b2 = [...buttons].filter(el => el.textContent == 'Рынок')[100]
1
1 / 1 / 0
Регистрация: 11.01.2017
Сообщений: 158
24.01.2019, 15:15  [ТС]
Единственная разница между кнопками, которые он находит заключается в их названии: "��Купить" и "��Продать", но почему при поиске одной он находит другую, в обратную сторону система не работает.

Скрипт, что выше, кстати, тоже не работает.
0
 Аватар для svtslv
308 / 160 / 66
Регистрация: 18.01.2019
Сообщений: 449
24.01.2019, 15:30
Цитата Сообщение от Reziko Посмотреть сообщение
заключается в их названии
Ну могу предложить поиск сразу по двум параметрам
JavaScript
1
2
3
4
5
let buttons = document.querySelectorAll('button.Button.Button--primary.Button--size-m.Button--wide.Button--overflow img')
 
let b2 = [...buttons].filter(el => el.src.split('/').pop() == 'f09f92b0.png' && el.parentNode.textContent == 'Купить' )[0].parentNode
 
console.log(b2)
Добавлено через 2 минуты
Ну и опять же возьми самый первый пример и поиграйся с [x] 1,2,3,4,5 пока не найдешь
JavaScript
1
let b1 = [...document.querySelectorAll('button.Button.Button--primary.Button--size-m.Button--wide.Button--overflow')].filter(el => el.textContent.match(/^Купить$/))[____ЧИСЛО____]
Добавлено через 4 минуты
Хотя суди по скрину он и первый не находит что странно
0
1 / 1 / 0
Регистрация: 11.01.2017
Сообщений: 158
24.01.2019, 15:57  [ТС]
Спасибо, получилось. Я сделал поиск для всех кнопок отдельно, но я не знаю на что заметь "let buttons", ибо его можно использовать только один раз (насколько я понял).

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
let buttons =document.querySelectorAll('button.Button.Button--primary.Button--size-m.Button--wide.Button--overflow img')
let b2 = [...buttons].filter(el => el.src.split('/').pop() == 'f09f8eaa.png' && el.parentNode.textContent == 'Рынок' )[0].parentNode
 
 
let buttons = document.querySelectorAll('button.Button.Button--primary.Button--size-m.Button--wide.Button--overflow img')
let b4 = [...buttons].filter(el => el.src.split('/').pop() == 'f09f92b0.png' && el.parentNode.textContent == 'Купить' )[0].parentNode
 
 
let buttons = document.querySelectorAll('button.Button.Button--primary.Button--size-m.Button--wide.Button--overflow img')
let b6 = [...buttons].filter(el => el.src.split('/').pop() == 'f09f8d96.png' && el.parentNode.textContent == 'Еда' )[0].parentNode
 
 
let buttons = document.querySelectorAll('button.Button.Button--primary.Button--size-m.Button--wide.Button--overflow img')
let b8 = [...buttons].filter(el => el.src.split('/').pop() == 'f09f8d96.png' && el.parentNode.textContent == '100' )[0].parentNode
0
 Аватар для svtslv
308 / 160 / 66
Регистрация: 18.01.2019
Сообщений: 449
24.01.2019, 16:55
Цитата Сообщение от Reziko Посмотреть сообщение
но я не знаю на что заметь "let buttons"
Тебе и не нужно. Оставь только верхнюю остальные удали.
JavaScript
1
2
3
let buttons = document.querySelectorAll...
let b1 = [...buttons]....
let b2 = [...buttons]....
Можно и так...
JavaScript
1
2
3
4
let buttons1 = ...
let b1 = [...buttons1]....
let buttons2 = ...
let b2 = [...buttons2]....
и этак...
JavaScript
1
let b8 = [...document.querySelectorAll('button.Button.Button--primary.Button--size-m.Button--wide.Button--overflow img')].filter(el => el.src.split('/').pop() == 'f09f8d96.png' && el.parentNode.textContent == '100' )[0].parentNode
1
1 / 1 / 0
Регистрация: 11.01.2017
Сообщений: 158
24.01.2019, 17:30  [ТС]
Что-то вновь пошло не так...
Миниатюры
Скрипт для автонажатия кнопок  
0
 Аватар для svtslv
308 / 160 / 66
Регистрация: 18.01.2019
Сообщений: 449
24.01.2019, 17:32
Цитата Сообщение от Reziko Посмотреть сообщение
Что-то вновь пошло не так...
после .parentNode "]" не нужен
1
1 / 1 / 0
Регистрация: 11.01.2017
Сообщений: 158
24.01.2019, 17:35  [ТС]
Без него тоже выдавало ошибку, я дополнил ответ.
0
 Аватар для svtslv
308 / 160 / 66
Регистрация: 18.01.2019
Сообщений: 449
24.01.2019, 17:37
Цитата Сообщение от Reziko Посмотреть сообщение
Без него тоже выдавало ошибку, я дополнил ответ.
Ну значит какой то элемент не находит ищи какой наверное b3
1
1 / 1 / 0
Регистрация: 11.01.2017
Сообщений: 158
24.01.2019, 17:40  [ТС]
Всё по отдельности находил.
0
 Аватар для svtslv
308 / 160 / 66
Регистрация: 18.01.2019
Сообщений: 449
24.01.2019, 17:52
Цитата Сообщение от Reziko Посмотреть сообщение
Всё по отдельности находил.
https://jsfiddle.net/5x9ratf7/

Добавлено через 5 минут
Ну и в setTimeout поставь нужные кнопки b2.click() b3.click() b4.click() b5.click() если со скрина. Как назвал так и ставь. Тоже самое и с console.log()
1
1 / 1 / 0
Регистрация: 11.01.2017
Сообщений: 158
24.01.2019, 17:54  [ТС]
Теперь с теми же скриптами он не находит вообще кнопки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.01.2019, 17:54
Помогаю со студенческими работами здесь

Создать массив кнопок, для каждой кнопок будет одинаковый обработчик
Всем привет! Нужна помощь в реализации такой задачи. Нужно создать массив кнопок, для каждой кнопок будет одинаковый обработчик...

Делаю программу. Не знаю скрипт кнопок
Здравствуйте! Предупреждаю сразу, в PHP не соображаю :) но решил для себя написать программку, которая поможет мне публиковать свои...

Скрипт из двух кнопок при запуске
Здравствуйте! Есть ли возможность реализовать такой скрипт? При запуске системы выдается две кнопки. Первая войти, после чего происходит...

Не срабатывает скрипт с переключением radio кнопок
Всем привет, не срабатывает скрипт на переключение не знаю в чем дело, помогите пожалуйста &lt;form method=&quot;POST&quot;&gt; ...

Скрипт, формирующий для вывода определённого сообщения через заданный промежуток времени другой скрипт
Приветствую сообщество CyberForum. Подскажите как реализовать такую задачу. Задача: При запуске скрипта должен формироваться другой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru