Почему я не могу получить элемент?

#javascript #jquery

#javascript #jquery

Вопрос:

Например, следующий сайт https://news.yahoo.co.jp / Я попытался автоматически щелкнуть функцию, которая по умолчанию отключена в части видео, но я не могу.

 window.onload = function(e) {
document.getElementsByClassName("vjs-mute-control.vjs-vol-0").click();
}
// Or
window.onload = function(e) {
$('#player > div.vjs-control-bar > div.vjs-volume-panel.vjs-control.vjs-volume-panel-horizontal > button').click();
};
 

В таких случаях это не ограничивается вышеуказанными сайтами, но часто встречается,
Могу ли я что-нибудь сделать с интерфейсными скриптами?

Моей целью номер один в этом году было получить элементы, которые я не мог получить.

Вы ничего не можете сделать самостоятельно.

Если интерфейс JS не помог, почему?

Операционная среда Windows 10 Chrome 64bit https://chrome.google.com/webstore/detail/css-and-javascript-inject/ckddknfdmcemedlmmebildepcmneakaa

Комментарии:

1. Поиск jsfiddle

Ответ №1:

Я предполагаю, что элемент динамически отображается и его нет на странице, когда вы пытаетесь щелкнуть по нему. Попробуйте делегировать событие ближайшему статическому родителю:

 window.onload = function(e) {
    $(document).on("ready", ".vjs-mute-control.vjs-vol-0", function(){
        $(this).click();
    });
};
 

Ответ №2:

Существует свойство defaultMuted , которое вы можете использовать, чтобы отключить звук или видео по умолчанию. https://www.w3schools.com/tags/av_prop_defaultmuted.asp

HTML-код :

 <video id="video_a" controls>
  <source src="mov_bbb.mp4" type="video/mp4">
</video>
 

Код JavaScript :

 window.onload = function(e) {
    var videoElement = document.getElementById('video_a');
    videoElement.defaultMuted = true; 
}