Есть веб-сайт, который я пытаюсь автоматизировать с помощью JavaScript, чтобы применить код скидки. Мне нужно знать альтернативный метод, чтобы заставить эту конкретную кнопку submit () или щелкнуть () по ней. Я уже нашел способ ввести код, потому что для этого элемента есть идентификатор. Однако это не относится к этой кнопке. Когда я использовал идентификатор data-trekkie-id, «apply_discount_button», он не распознавал идентификатор.
<button name = "button" type = "submit" class = "field__input-btn btn btn--disabled" data-trekkie-id = "apply_discount_button" aria-busy = "false">
<span class = "btn__content visually-hidden-on-mobile" aria-hidden = "true">
Apply
</span>
<span class = "visually-hidden">
Apply Discount Code
</span>
<svg class = "icon-svg icon-svg--size-16 btn__icon shown-on-mobile" aria-hidden = "true" focusable = "false"> <use xlink:href = "#arrow" /> </svg>
<svg class = "icon-svg icon-svg--size-18 btn__spinner icon-svg--spinner-button" aria-hidden = "true" focusable = "false"> <use xlink:href = "#spinner-button" /> </svg>
Я не понимаю на 100% то, что вы ищете. Но я думаю, вы хотите выбрать кнопку с настраиваемым атрибутом данных html5 (data-trekkie-id
).
Вы можете выбрать кнопку в javascript, используя следующую строку:
const discountButton = document.querySelector('[data-trekkie-id = "apply_discount_button"]');
Он вернет первое совпадение с атрибутом data-trekkie-id = "apply_discount_button"
.
Затем вы можете прослушивать события этого элемента, подключив метод addEventListener
.
Например, если вы хотите прослушивать событие щелчка на этом элементе, код будет следующим:
discountButton.addEventListener('click', function(){
alert('Discount button was clicked.'); // Replace this line with your code
});
Огромное спасибо за этот ответ, но я ищу другое решение. Я хочу иметь возможность автоматизировать ввод числа в текстовое поле (что я сделал), а затем возможность отправить этот код. Для этого мне нужно было удерживать кнопку (с которой вы мне помогли), но я хочу автоматизировать задачу нажатия кнопки с помощью кода, а не прислушиваться к щелчку.
Благодаря гибкости HTMl вы можете создавать свои собственные атрибуты и использовать их по своему усмотрению; если вы когда-либо использовали бутстрап, вы увидите, что они добавляют некоторые атрибуты в теги html Вы можете сделать то же самое. Чтобы зафиксировать событие клика на кнопке с атрибутами data-trekkie-id, вы можете сделать что-то вроде JQuery:
$("[data-trekkie-id=apply_discount_button]").click(function(){
//some stuff
})
или просто:
$("[data-trekkie-id]").click(function(){
//some stuff
})
Надеюсь, мой ответ поможет!
Если вы можете, отредактируйте ваш фактический код как текст в своем вопросе - изображения кода в одиночестве - это утомительно и сложно для работы и отладки. Это заставляет тех, кто иначе хотел бы помочь вам, сначала сделать расшифруйте ваше изображение, что является пустой тратой времени.