Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Выделение чек-боксов единовременно

I.W Ученик (108), открыт 2 недели назад
На странице 50 чек-боксов, которые надо выделить. Кнопки "выделить все" - нет. У чек-боксов class="selectByClick". Помогите написать команду для единовременного выделения всех чек-боксов. Я ноль в программировании. Мне просто ежедневно приходиться кликать десятки страниц с чек-боксами. Очень удручающее занятие. Помогите, пожалуйста, уважаемые профессионалы!
4 ответа
Goida 1488 Ученик (216) 2 недели назад
Для выполнения такой задачи можно использовать JavaScript, чтобы автоматически отметить все чек-боксы на странице. Если в вашем браузере есть консоль разработчика (обычно доступная через нажатие клавиш F12 или Ctrl+Shift+J), то туда можно вставить следующий скрипт:


document.querySelectorAll('.selectByClick').forEach(checkbox => checkbox.checked = true);

Этот код найдёт все чек-боксы с классом selectByClick и установит их в положение "выбрано" (checked = true).

Как использовать:
Откройте страницу с чек-боксами.
Нажмите F12 или Ctrl+Shift+J, чтобы открыть консоль разработчика.
Вставьте код, указанный выше, и нажмите Enter.
После этого все чек-боксы с классом selectByClick должны быть выделены.
I.WУченик (108) 2 недели назад
Извините, очень глупый вопрос: это в каком браузере лучше делать?
Я работаю в браузере Яндекса.
Проделала Ваши рекомендации и ничего не получилось.
Пишет undefined.
oscrn Мастер (1134) 2 недели назад
 // Находим все элементы с классом selectByClick 
const checkboxes = document.querySelectorAll('.selectByClick');

// Проходим по каждому элементу и устанавливаем свойство checked
checkboxes.forEach(checkbox => {
checkbox.checked = true;
});
I.WУченик (108) 2 недели назад
Извините, тоже не получилось.
Пишет undefined.
V̲i̲s̲t̲a̲s̲t̲e̲r̲ Искусственный Интеллект (263662) 2 недели назад
Никак. То есть, придется сохранить страницу локально, выполнить скрипт изменения состояний элементов и отослать её на сервер. Не факт , что это сработает. И для применения скрипта будет необходимо редактировать исходный код.. Лучше обратиться к разработчику, цена вопроса — всего одна строка js-кода.

Если разработчик недоступен, то лично я бы это сделал с помощью автоматизации браузера через selenium из Python (20-30 строк кода)
I.WУченик (108) 2 недели назад
Спасибо за ответ!
Это система документооборота и после обращения к разработчику был получен ответ, что выделение по клику установлено намеренно, чтобы каждый документ был "прокликан", что значит, что с ним ознакомились. Но, тут вопрос количества. Когда их 50-100 штук в день, то не проблема со всеми ознакомиться, а когда их тысячи в день и они все типовые, то этот процесс удручает.
V̲i̲s̲t̲a̲s̲t̲e̲r̲ Искусственный Интеллект (263662) Ира Вольтер, ну я об этом (локальная автоматизация) уже рассказал. Осталось найти разработчика, который решит этот вопрос и заплатить ему... Ну, то есть общий код можно выплюнуть за пару секунд, если знать где искать, но потребуется много времени отладки по месту с конкретным сетевым документом..
Dlazder Мудрец (16889) 2 недели назад
Вставь это в консоль.

 document.querySelectorAll('.selectByClick').forEach((e) => e.checked = true); 

Можно сделать userscript, который будет добавлять кнопку на сайт, по нажатию которой будет выполнен вышеприведенный код.
I.WУченик (108) 2 недели назад
Спасибо за ответ!
Но, увы, не получилось...((
Также пишет undefined.
Dlazder Мудрец (16889) Ира Вольтер, Показывай скришот. А лучше сохрани страницу и отправь сюда. Можешь закинуть на файлообменик какой нибудь. undefined и должно выводится, это особенность консоли, выводится возвращающееся значение. А этот код ничего не возвращает.
Похожие вопросы