@AlbMikh

Что делать если контент-скрипт из расширения не работает так, как надо?

Контент-скрипт моего расширения для браузера Google Chrome выглядит так :
document.getElementById("top_audio_player").dispatchEvent(new MouseEvent("mousedown"));
document.getElementById("top_audio_player").dispatchEvent(new MouseEvent("mousedown"));
console.log(document.getElementsByClassName("audio_page_player_title_performer")[0].childNodes[0].innerHTML);

Моё расширение должно работать на сайте vk.com. Первые две строчки этого кода должны "инициализировать" выпадающее меню с музыкальным плейлистом,
открывая и сразу закрывая его. Это нужно для того, чтобы получить доступ к имени текущего исполнителя, что я и делаю в третьей строке.

Проблема заключается в том, что при открытии ВК мне в консоль выводится следующая ошибка (работает всё только на вкладке с музыкой):
5ec00a1126394142676064.png
Тогда как если последовательно ввести эти команды в консоль - всё прекрасно работает:
5ec015d09e85d917241941.png

Помогите пожалуйста решить данную проблему.
Заранее спасибо!
  • Вопрос задан
  • 46 просмотров
Решения вопроса 1
SeaInside
@SeaInside
10 лет пилю все эти штуки
Выглядит так, что ваша третья строчка вызывается до того, как завершил работу обработчик из первых двух.
Поставьте задержку в полсекунды.
document.getElementById("top_audio_player").dispatchEvent(new MouseEvent("mousedown"));
document.getElementById("top_audio_player").dispatchEvent(new MouseEvent("mousedown"));
setTimeout(() => {
  console.log(document.getElementsByClassName("audio_page_player_title_performer")[0].childNodes[0].innerHTML);
}, 500);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы