Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.10.2024, 17:32
Новичок на форуме
Отправить личное сообщение для WASP-121b Посмотреть профиль Найти все сообщения от WASP-121b
 
Регистрация: 03.10.2024
Сообщений: 4

Кнопка убегает от мыши, как остановить, что бы нажать?¹
Привет всем!
Я не знаю, есть ли способ остановить кнопку?

Дело такое. Работодатель скинул ссылку на тест. Что бы перейти к тесту надо нажать кнопку. Которая хитрая...

При подводе к ней мышки, кнопка рвет с места в карьер!
Гоняться за ней и нажать конечно можно. После какого-то времени, кнопка была поймана мышкой )
Но, результат по времени мне не понравился. Нет, это не было долго, но не было и быстро.

При открытии dev tools - F12, кнопка вообще пропадает с радаров!
Открывал и page source, там разумеется кнопки нет.

Вопрос.
Есть ли какие-то способы остановить или замедлить кнопку?
Помогите пожалуйста.
Ответить с цитированием
  #2 (permalink)  
Старый 03.10.2024, 18:55
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,790

Использовать навигацию без мыши (клавишей tab / shift + tab) пробовали?
Ответить с цитированием
  #3 (permalink)  
Старый 04.10.2024, 00:39
Новичок на форуме
Отправить личное сообщение для WASP-121b Посмотреть профиль Найти все сообщения от WASP-121b
 
Регистрация: 03.10.2024
Сообщений: 4

Да Nexus, пробовал.
По меню все ходит. Слева внизу показывается ссылка, т.е. видно на чем сейчас находится переключение.
Но, на кнопку не переключается. Как будто ее нет на странице.

Еще забыл сказать, что дано на задание 3 дня.
Уже 2 дня осталось.

Последний раз редактировалось WASP-121b, 04.10.2024 в 02:28.
Ответить с цитированием
  #4 (permalink)  
Старый 04.10.2024, 04:38
Аватар для Белый шум
Профессор
Отправить личное сообщение для Белый шум Посмотреть профиль Найти все сообщения от Белый шум
 
Регистрация: 19.01.2012
Сообщений: 502

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.
Ответить с цитированием
  #5 (permalink)  
Старый 04.10.2024, 08:02
Новичок на форуме
Отправить личное сообщение для WASP-121b Посмотреть профиль Найти все сообщения от WASP-121b
 
Регистрация: 03.10.2024
Сообщений: 4

Белый шум, спасибо за такую идею!
Изучу как ею воспользоваться. Этого инструмента я не знал. Отлично!

Насчет ссылки, она индивидуальная, на задание.
Т.е. работодатель видел, что я заходил, но не отправил ему ответы.
Ну, времени у меня может быть не было и т.д.

Просто если по этой индивидуальной ссылке ворвутся гости, они поймут, что я попросил подмогу )
Поэтому, извиняюсь.

Буду рад еще помощи. У кого, какие идеи.

Там просто кнопка, которая отодвигается при приближении мыши.
Когда кнопку загоняешь в угол, то она исчезает и появляется в любом месте середины браузера.

Последний раз редактировалось WASP-121b, 04.10.2024 в 08:14.
Ответить с цитированием
  #6 (permalink)  
Старый 04.10.2024, 08:49
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,565

Очевидное: настроить открытие инструментов разработчика в новом окне, отжать "останавливаться на ошибках\точках останова"(как-то так, лень смотреть), открыть инструменты через меню а не чрез f12.
И всё, инструменты тебе доступны и сайт никак не сможет узнать об этом факте. Дальше найти кнопку, и кликнуть программно.

Но вообще если это у тебя вызвало проблемы, то врядли ты подходишь для той работы.
__________________
29375, 35
Ответить с цитированием
  #7 (permalink)  
Старый 04.10.2024, 11:54
Новичок на форуме
Отправить личное сообщение для WASP-121b Посмотреть профиль Найти все сообщения от WASP-121b
 
Регистрация: 03.10.2024
Сообщений: 4

Aetae, и через меню тоже открывалось все.

Сообщение от Aetae Посмотреть сообщение
Но вообще если это у тебя вызвало проблемы, то врядли ты подходишь для той работы.
Ценю ваше мнение, но ваша ситуация намного отличается от моего опыта )
Ответить с цитированием
  #8 (permalink)  
Старый 04.10.2024, 12:49
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,790

Если вариант 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
Ответить с цитированием
  #9 (permalink)  
Старый 04.10.2024, 14:54
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,565

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.
Ответить с цитированием
  #10 (permalink)  
Старый 04.10.2024, 20:05
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,790

Сообщение от Aetae
Nexus, он же сказал, что не табается).
И правда. Я почему-то подумал, что кнопка фокус получает, но не удается на нее нажать используя space / enter.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создать цитатник? WGN Общие вопросы Javascript 10 29.01.2017 01:39
Как сделать чтобы кнопка «Назад» работала бы в пределах определенного сайта? Askeer Общие вопросы Javascript 7 14.10.2016 12:23
как сделать что бы при открытии страницы сразу открылось большое фото oksanaweb Общие вопросы Javascript 1 05.06.2013 02:17
Кто как учит/учил/ будет учить Английский ? DjDiablo Оффтопик 53 18.12.2012 21:01
Как узнать, что левая клавиша мыши не зажата FINoM Events/DOM/Window 13 05.02.2012 18:01