Мне нужно сделать букмарклет, который будет автоматически нажимать на кнопку обновления в рабочем веб-приложении. Кнопка обновляет только часть страницы, не всю целиком.
Вот информация об элементе из инструментов разработчика:
Но ничего не происходит. Букмарклет просто не работает.
Давно не работал с JavaScript и букмарклетами, но знаю что такое точно можно реализовать. В чем может быть проблема? Может быть нужно по-другому обращаться к элементу или добавить какую-то проверку?
У меня была похожая проблема с букмарклетами на работе! Попробуй добавить небольшую задержку перед кликом - иногда страница еще не полностью загружена. Вот что у меня работает:
Еще может быть проблема в том, что у кнопки несколько классов через пробел - лучше использовать querySelector с точками между классами. задержка в 500мс обычно решает большинство проблем с загрузкой элементов.
Скорее всего проблема в том что на кнопке висят event listeners которые не срабатывают при программном клике. Я сталкивался с такой фигней на корпоративных сайтах. Попробуй диспатчить MouseEvent вместо простого click():
А может дело в том что кнопка находится внутри iframe или формы? Попробуй сначала проверить через консоль браузера работает ли вообще этот селектор - просто набери document.querySelector('.Update.btn.btn3d.TableBtn') и посмотри находит ли элемент. Если null возвращает, то проблема в селекторе.