Программное нажатие всех кнопок на странице в консоли Chrome

Я пытаюсь использовать консоль Chrome, чтобы выбрать все кнопки на странице и щелкнуть их программно. Аналогичная страница, с которой я играю, это:http://api.openstack.org/api-ref.html#compute-ext

Я уже пытался выполнить приведенную ниже команду, но она не сделала то, что я хотел.

$("btn small info").click()

возможно ли это вообще? Какую команду я должен отдать?

5 ответов


Ну, вы хотите убедиться, что вы только выбрать кнопки в разделе, так что вы не запускаете поиск.

$("#body .btn").trigger("click");

основываясь на комментарии Salketers к вопросу, вот небольшой скрипт, который будет программно нажимать все кнопки один за другим с интервалом в 1 секунду, а также регистрировать нажатую кнопку на консоли:

var buttons = $("button"), 
    interval = setInterval(function(){
        var btn = $(buttons.splice(0, 1));
        console.log("Clicking:", btn);
        btn.click();
        if (buttons.length === 0) {
            clearInterval(interval);
        }
    }, 1000);

ваш класс, кажется, не хватает .. Попробуйте один из них:

$(".btn").click();
$("button").click();
$("input:submit").click();
$(".btn.small.info").click();

предполагая, что на странице уже есть библиотеки jQuery (что делает ссылочная страница), то:

$(".btn.small.info").click();

Это будет неявно перебирать все селекторы с этими тремя классами и имитировать событие click.

Если на странице нет необходимых библиотек jQuery, попробуйте это перед выполнением приведенной выше команды:

var jq = document.createElement('script');
jq.src = "http://code.jquery.com/jquery-latest.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);
jQuery.noConflict();

обратите внимание, что команда, которую вы используете в своем вопросе, не будет выбирать элементы класса btn и т. д. Вы должны использовать точка для выбора .class.


ваш выбор может быть неверным. Попробуйте сделать что-то вроде этого

$(".btn.small.info").click();

это будет нажать кнопку с классами btn small info, у вас была попытка щелкнуть элементы dom.

вот дополнительная документация по селекторам jQuery: