03.10.2024, 17:32
|
Новичок на форуме
|
|
Регистрация: 03.10.2024
Сообщений: 4
|
|
Кнопка убегает от мыши, как остановить, что бы нажать?¹
Привет всем!
Я не знаю, есть ли способ остановить кнопку?
Дело такое. Работодатель скинул ссылку на тест. Что бы перейти к тесту надо нажать кнопку. Которая хитрая...
При подводе к ней мышки, кнопка рвет с места в карьер!
Гоняться за ней и нажать конечно можно. После какого-то времени, кнопка была поймана мышкой )
Но, результат по времени мне не понравился. Нет, это не было долго, но не было и быстро.
При открытии dev tools - F12, кнопка вообще пропадает с радаров!
Открывал и page source, там разумеется кнопки нет.
Вопрос.
Есть ли какие-то способы остановить или замедлить кнопку?
Помогите пожалуйста.
|
|
03.10.2024, 18:55
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,791
|
|
Использовать навигацию без мыши (клавишей tab / shift + tab) пробовали?
|
|
04.10.2024, 00:39
|
Новичок на форуме
|
|
Регистрация: 03.10.2024
Сообщений: 4
|
|
Да Nexus, пробовал.
По меню все ходит. Слева внизу показывается ссылка, т.е. видно на чем сейчас находится переключение.
Но, на кнопку не переключается. Как будто ее нет на странице.
Еще забыл сказать, что дано на задание 3 дня.
Уже 2 дня осталось.
Последний раз редактировалось WASP-121b, 04.10.2024 в 02:28.
|
|
04.10.2024, 04:38
|
|
Профессор
|
|
Регистрация: 19.01.2012
Сообщений: 505
|
|
WASP-121b,
без ссылки мы тут можем долго гадать и не найти способа
А так - попробуйте внедрить на страницу свой джаваскрипт с помощью какого-нибудь плагина (например - https://addons.mozilla.org/en-US/fir...in-the-middle/).
Что-то вроде такого:
var elements = document.querySelectorAll('[onmouseover], [onmouseenter], [onclick]');
console.log('MitM:', elements);
Может более опытные товарищи накидают сюда более нормальные варианты скрипта...
Если элемент найдётся, то можно на него нажать програмно или просто увидеть нужный УРЛ.
Последний раз редактировалось Белый шум, 04.10.2024 в 04:44.
|
|
04.10.2024, 08:02
|
Новичок на форуме
|
|
Регистрация: 03.10.2024
Сообщений: 4
|
|
Белый шум, спасибо за такую идею!
Изучу как ею воспользоваться. Этого инструмента я не знал. Отлично!
Насчет ссылки, она индивидуальная, на задание.
Т.е. работодатель видел, что я заходил, но не отправил ему ответы.
Ну, времени у меня может быть не было и т.д.
Просто если по этой индивидуальной ссылке ворвутся гости, они поймут, что я попросил подмогу )
Поэтому, извиняюсь.
Буду рад еще помощи. У кого, какие идеи.
Там просто кнопка, которая отодвигается при приближении мыши.
Когда кнопку загоняешь в угол, то она исчезает и появляется в любом месте середины браузера.
Последний раз редактировалось WASP-121b, 04.10.2024 в 08:14.
|
|
04.10.2024, 08:49
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,586
|
|
Очевидное: настроить открытие инструментов разработчика в новом окне, отжать "останавливаться на ошибках\точках останова"(как-то так, лень смотреть), открыть инструменты через меню а не чрез f12.
И всё, инструменты тебе доступны и сайт никак не сможет узнать об этом факте. Дальше найти кнопку, и кликнуть программно.
Но вообще если это у тебя вызвало проблемы, то врядли ты подходишь для той работы.
__________________
29375, 35
|
|
04.10.2024, 11:54
|
Новичок на форуме
|
|
Регистрация: 03.10.2024
Сообщений: 4
|
|
Aetae, и через меню тоже открывалось все.
Сообщение от Aetae
|
Но вообще если это у тебя вызвало проблемы, то врядли ты подходишь для той работы.
|
Ценю ваше мнение, но ваша ситуация намного отличается от моего опыта )
|
|
04.10.2024, 12:49
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,791
|
|
Если вариант Aetae не подходит, то можно:
1. перейти на страницу с кнопкой;
2. вставить в адрес этой вкладки следующее и нажать enter (важно, чтобы после вставки строки ниже в адрес вкладки браузер не вырезал из начала `javascript :`):
javascript://document.addEventListener('keydown',a=>{'Enter'===a.key&&document.activeElement&&document.activeElement.dispatchEvent(new Event('click',{bubbles:!0}))});
код до минификации
document.addEventListener('keydown', e => {
if (e.key !== 'Enter' || !document.activeElement) return;
document.activeElement.dispatchEvent(new Event('click', {bubbles: true}));
});
3. с помощью tab найти на странице нужную кнопку
4. нажать enter
|
|
04.10.2024, 14:54
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,586
|
|
WASP-121b, что значит "через меню открывалось всё"? Если выполнить все мои указания, то инспектор откроется абсолютно незаметно для страницы. Разве что кнопка пропадает ещё и с потерей фокуса страницей - тогда оный надо просто вернуть.
Nexus, он же сказал, что не табается).
Если говорить о букмарклетах, то проще всего сделать так:
['mousemove', 'mouseenter', 'mouseleave', 'mouseover', 'mouseout'].forEach((event) => addEventListener(event, e => e.stopImmediatePropagation(), true));
И спокойно кликнуть руками.
...ну или так, для надёжности:
for (const event of ['move', 'enter', 'leave', 'over', 'out'])
for (const pointer of ['mouse', 'pointer'])
addEventListener(`${pointer}${event}`, e => e.stopImmediatePropagation(), true);
__________________
29375, 35
Последний раз редактировалось Aetae, 04.10.2024 в 15:03.
|
|
04.10.2024, 20:05
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,791
|
|
Сообщение от Aetae
|
Nexus, он же сказал, что не табается).
|
И правда. Я почему-то подумал, что кнопка фокус получает, но не удается на нее нажать используя space / enter.
|
|
|
|