Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 11.01.2017
Сообщений: 149
1

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

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

Нужен СКРИПТ, который раз в минуту прожимает последовательность следующих кнопок:
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.01.2019, 23:07
Ответы с готовыми решениями:

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

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

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

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

__________________

Записывайтесь на профессиональные курсы Fullstack-разработчиков на JavaScript‌
Обучение в Java Mentor с оплатой после трудоустройства
25
307 / 159 / 66
Регистрация: 18.01.2019
Сообщений: 447
23.01.2019, 23:59 2
Цитата Сообщение от 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
2027 / 1086 / 408
Регистрация: 29.04.2016
Сообщений: 2,603
24.01.2019, 01:09 3
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
Сообщений: 149
24.01.2019, 12:43  [ТС] 4
Цитата Сообщение от svtslv Посмотреть сообщение
Можно и по src ловить и патерн для примера можно просто сравнивать.
Скрипт для автонажатия кнопок

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

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



Как-то так...
0
307 / 159 / 66
Регистрация: 18.01.2019
Сообщений: 447
24.01.2019, 13:01 5
Цитата Сообщение от 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
Сообщений: 149
24.01.2019, 13:38  [ТС] 6
Находит ненужную вторую кнопку при вводе правильного слова.
0
307 / 159 / 66
Регистрация: 18.01.2019
Сообщений: 447
24.01.2019, 13:53 7
Цитата Сообщение от 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
Сообщений: 149
24.01.2019, 14:13  [ТС] 8
А как его теперь впихнуть в тот код? Я сам попробовал, но вышло бездарно.
0
307 / 159 / 66
Регистрация: 18.01.2019
Сообщений: 447
24.01.2019, 14:40 9
Цитата Сообщение от 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
Сообщений: 149
24.01.2019, 15:15  [ТС] 10
Единственная разница между кнопками, которые он находит заключается в их названии: "��Купить" и "��Продать", но почему при поиске одной он находит другую, в обратную сторону система не работает.

Скрипт, что выше, кстати, тоже не работает.
0
307 / 159 / 66
Регистрация: 18.01.2019
Сообщений: 447
24.01.2019, 15:30 11
Цитата Сообщение от 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
Сообщений: 149
24.01.2019, 15:57  [ТС] 12
Спасибо, получилось. Я сделал поиск для всех кнопок отдельно, но я не знаю на что заметь "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
307 / 159 / 66
Регистрация: 18.01.2019
Сообщений: 447
24.01.2019, 16:55 13
Цитата Сообщение от 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
Сообщений: 149
24.01.2019, 17:30  [ТС] 14
Что-то вновь пошло не так...
Скрипт для автонажатия кнопок
0
Миниатюры
Скрипт для автонажатия кнопок  
307 / 159 / 66
Регистрация: 18.01.2019
Сообщений: 447
24.01.2019, 17:32 15
Цитата Сообщение от Reziko Посмотреть сообщение
Что-то вновь пошло не так...
после .parentNode "]" не нужен
1
1 / 1 / 0
Регистрация: 11.01.2017
Сообщений: 149
24.01.2019, 17:35  [ТС] 16
Без него тоже выдавало ошибку, я дополнил ответ.
0
307 / 159 / 66
Регистрация: 18.01.2019
Сообщений: 447
24.01.2019, 17:37 17
Цитата Сообщение от Reziko Посмотреть сообщение
Без него тоже выдавало ошибку, я дополнил ответ.
Ну значит какой то элемент не находит ищи какой наверное b3
1
1 / 1 / 0
Регистрация: 11.01.2017
Сообщений: 149
24.01.2019, 17:40  [ТС] 18
Всё по отдельности находил.
0
307 / 159 / 66
Регистрация: 18.01.2019
Сообщений: 447
24.01.2019, 17:52 19
Цитата Сообщение от Reziko Посмотреть сообщение
Всё по отдельности находил.
https://jsfiddle.net/5x9ratf7/

Добавлено через 5 минут
Ну и в setTimeout поставь нужные кнопки b2.click() b3.click() b4.click() b5.click() если со скрина. Как назвал так и ставь. Тоже самое и с console.log()
1
1 / 1 / 0
Регистрация: 11.01.2017
Сообщений: 149
24.01.2019, 17:54  [ТС] 20
Теперь с теми же скриптами он не находит вообще кнопки.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.01.2019, 17:54

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.