Добрый день,
Я знаю, что этот вопрос задавался много раз. Я искал все выше и ниже, чтобы заставить его работать, но, похоже, что-то изменилось, и ответы больше не работают.
На YouTube, когда я запускаю эту функцию simulateClick в консоли. Это работает.
function simulateClick() {
var evt = new MouseEvent("click", {
bubbles: true,
cancelable: true,
view: window
});
var cb = document.getElementsByClassName("ytp-play-button")[0]; //element to click on
var canceled = !cb.dispatchEvent(evt);
if(canceled) {
// A handler called preventDefault
alert("canceled");
} else {
// None of the handlers called preventDefault
alert("not canceled");
}
}
Это потому, что есть кнопка, называемая ytp-play-button.
Однако, когда я делаю это на YouTube TV (ранее отсталый). Это не работает. Функция div там имеет «роль = кнопка».
Это div, отвечающий за кнопку воспроизведения.
<div class="toggle-button selected material-icon-play-arrow toggle-selected transport-controls-toggle-button" tabindex="-1" role="button" style=""> <div class="background"></div> <span class="label">Pause</span></div>
Итак, я изменил «ytp-play-button» на «material-icon-play-arrow», но даже при том, что он правильно понял класс. Это не работает.
Любые указатели будут по достоинству оценены. Спасибо.
P.S .: Это чистый вопрос JavaScript, а не jQuery.
Редактировать # 1: Когда я пытался запустить onclick, как это в консоли
document.getElementsByClassName("material-icon-play-arrow")[0].onclick()
Я получил эту ошибку.
Uncaught TypeError: document.getElementsByClassName (...) [0] .onclick не является функцией
в: 1: 64
(анонимно) @ VM7969: 1