Зачем нужно делать паузу в панели отладки браузера Гугл Хром или Яндекс?
В ходе написания автотеста мне время от времени нужно добывать селекторы из кода веб-страницы. Отличным инструментом для этого является дебагер (DevTools). Она-же — инструменты разработчика.
Это на редкость удобный инструмент, необходимый для веб-разработчика, но не только.
Однажды я столкнулся с сайтом, у которого, при нажатии на поле селектора появлялось модальное окно, где можно было выбрать нужный вариант. И всё-бы ничего, но с этим возникла проблема.
Дело в том, что если на выбранном варианте нажать левую кнопку мыши (ЛКМ), то нужный пункт выбирается, как и задумано авторами. Однако, при нажатии на правую кнопку (или на любое другое действие) модальное окно просто исчезало.
Таким образом, чтобы понять из каких селекторов состояло это модальное окно, нужно было запаузить содержимое страницы в тот момент, когда оно появилось.
Как это сделать?
В интернете описано множество способов, но я для себя написал вот этот короткий скрипт.
document.addEventListener('keyup',function(event){if(event.key=='F9'){setTimeout(()=>{debugger;},3000);}});
Чтобы им воспользоваться, достаточно скопировать, перейти на нужный сайт, запустить панель отладки (F12), выбрать в ней вкладку Консоль.
В консоль вписать фразу «allow pasting» (естественно, без кавычек) и прожать Enter.
allow pasting
Иначе консоль ГуглоХрома откажется принимать вставку скрипта.
После этого вставьте код скрипта в консоль и прожмите Enter.
Теперь, будучи на странице сайта, прожимаем F9 и, в течение трёх секунд (пока на сработала пауза), нажимаем на тот элемент, который вызывает нужное модальное окно.
Там появится характерная плашка, через которую паузу можно будет снять.
Из минусов: страница становится недоступной для того, чтобы прямо на ней выделить нужный элемент и посмотреть его в дебагере. Однако, можно перейти во вкладку Elements и искать нужное прямо там.
Это не очень удобно, но вполне реально.
Ну а после снятия с паузы можно снова прожать F9, ткнуть уже в другой элемент (вызывающий очередную «исчезающую модалку»), снова дождаться паузы и найти искомые элементы.
Я проверил, у меня работает. Во всяком случае пока.
Если тебе был полезен этот пост, пожалуйста поддержи автора.
Ну а с вами был Доктор Лексиум.
До новых постов.