Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.09.2022, 00:21
Новичок на форуме
Отправить личное сообщение для Yarus Посмотреть профиль Найти все сообщения от Yarus
 
Регистрация: 04.09.2022
Сообщений: 3

Как исключить селектор?
Добрый день форумчане, нужна ваша помощь. Суть вопроса такова: на странице есть несколько кнопок, на которые нужно нажать при помощи var buttons = document.querySelectorAll

Проблема в том, что у кнопки две позиции, вкл/выкл, определяются кнопки по селектору aria-label="start", нажатая кнопка имеет селектор aria-pressed="true", соответственно не нажатая кнопка имеет селектор aria-pressed="false".

Мне нужно, что бы команда нажимала только на те кнопки которые не активированы, т.е. второй селектор aria-pressed="false" и игнорировала кнопку если на ней есть селектор aria-pressed="true".

Я не великий знаток Java, только учусь, поэтому прошу тапками не закидывать. Пытался сделать вот так:

var buttons = document.querySelectorAll('[aria-label="start"].not[aria-pressed="true"]'); for(var i = 0; i <= buttons.length; i++) { buttons[i].click(); }


Но ничего не получилось, команда не работает. Помогите пожалуйста с кодом, как сделать правильно?

Заранее спасибо!

Последний раз редактировалось Yarus, 04.09.2022 в 00:45.
Ответить с цитированием
  #2 (permalink)  
Старый 04.09.2022, 00:23
Новичок на форуме
Отправить личное сообщение для Yarus Посмотреть профиль Найти все сообщения от Yarus
 
Регистрация: 04.09.2022
Сообщений: 3

Еще буду отдельно благодарен, если поможете сделать так, что бы кнопки прожимались по очереди, c интервалом 0.5 секунды, пока не останется не нажатых. Спасибо!

Последний раз редактировалось Yarus, 04.09.2022 в 00:26.
Ответить с цитированием
  #3 (permalink)  
Старый 04.09.2022, 00:54
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

async function pressButtons() {
  const delay = (ms, value) => new Promise(resolve => setTimeout(resolve, ms, value));
  
  const buttons = document.querySelectorAll('[aria-label="start"]:not([aria-pressed="true"])'); 

  for (const button of buttons) { 
    button.click(); 
    await delay(500);
  }
}

pressButtons();
__________________
29375, 35

Последний раз редактировалось Aetae, 04.09.2022 в 03:08.
Ответить с цитированием
  #4 (permalink)  
Старый 04.09.2022, 01:13
Новичок на форуме
Отправить личное сообщение для Yarus Посмотреть профиль Найти все сообщения от Yarus
 
Регистрация: 04.09.2022
Сообщений: 3

Большое спасибо, проблема решена!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как должна работать функция добавления товара в корзину? nastya97core Общие вопросы Javascript 2 12.05.2021 17:22
Как правильно реализовать такой функционал? Julian Общие вопросы Javascript 3 16.01.2015 12:34
как правильно составить селектор imedia Элементы интерфейса 11 27.11.2014 22:38
Ругулярные выражения как исключить символ "\" Tek Общие вопросы Javascript 6 25.09.2014 11:07
Можно ли в jQuery селектор вставлять перменные и как? jsuse jQuery 2 04.12.2011 01:27