Как создать букмарклет для автоматического нажатия кнопки

Помогите с созданием букмарклета на JavaScript

Мне нужно сделать букмарклет, который будет автоматически нажимать на кнопку обновления в рабочем веб-приложении. Кнопка обновляет только часть страницы, не всю целиком.

Вот информация об элементе из инструментов разработчика:

<button class="Update btn btn3d TableBtn">Обновить</button>

Пробовал такой код:

javascript:document.getElementsByClassName("Update btn btn3d TableBtn")[0].click();

Но ничего не происходит. Букмарклет просто не работает.

Давно не работал с JavaScript и букмарклетами, но знаю что такое точно можно реализовать. В чем может быть проблема? Может быть нужно по-другому обращаться к элементу или добавить какую-то проверку?

У меня была похожая проблема с букмарклетами на работе! Попробуй добавить небольшую задержку перед кликом - иногда страница еще не полностью загружена. Вот что у меня работает:

javascript:(function(){setTimeout(function(){var btn=document.querySelector('.Update.btn.btn3d.TableBtn');if(btn){btn.click();}},500);})();

Еще может быть проблема в том, что у кнопки несколько классов через пробел - лучше использовать querySelector с точками между классами. задержка в 500мс обычно решает большинство проблем с загрузкой элементов.

Скорее всего проблема в том что на кнопке висят event listeners которые не срабатывают при программном клике. Я сталкивался с такой фигней на корпоративных сайтах. Попробуй диспатчить MouseEvent вместо простого click():

javascript:(function(){var btn=document.querySelector('.Update.btn.btn3d.TableBtn');if(btn){var event=new MouseEvent('click',{bubbles:true});btn.dispatchEvent(event);}})();

Еще вариант - поискать по тексту кнопки если селектор глючит. Некоторые сайты блокируют автоматические клики но MouseEvent часто проходит.

А может дело в том что кнопка находится внутри iframe или формы? Попробуй сначала проверить через консоль браузера работает ли вообще этот селектор - просто набери document.querySelector('.Update.btn.btn3d.TableBtn') и посмотри находит ли элемент. Если null возвращает, то проблема в селекторе.