У меня есть список выбора:
<select id="filter">
<option value="Open" selected="selected">Open</option>
<option value="Closed">Closed</option>
</select>
При выборе Closed
страница перезагружается. В этом случае он показывает закрытые билеты (а не открытые). Он отлично работает, когда я делаю это вручную.
Проблема в том, что страница не перезагружается, когда я выбираю Closed
с помощью Watir :
browser.select_list(:id => "filter").select "Closed"
Обычно это означает, что какое-то событие JavaScript не запускается. Я могу запускать события с Watir:
browser.select_list(:id => "filter").fire_event "onclick"
но мне нужно знать, какое событие запустить.
Есть ли способ узнать, какие события определены для элемента?
javascript
events
watir
dom-events
browser-automation
Желько Филиппин
источник
источник
Ответы:
Просто подумал, что добавлю, что это можно сделать и в Chrome:
Ctrl+ Shift+ I(Инструменты разработчика)> Источники> Точки останова прослушивателя событий (справа).
Вы также можете просмотреть все уже прикрепленные события, просто щелкнув элемент правой кнопкой мыши и просмотрев его свойства (панель справа).
Например:
Не уверен, что он такой же мощный, как опция firebug, но для большинства моих вещей этого было достаточно.
Другой вариант, который немного отличается, но удивительно хорош - это Visual Event: http://www.sprymedia.co.uk/article/Visual+Event+2
Он выделяет все элементы на странице, которые были связаны, и имеет всплывающие окна, показывающие вызываемые функции. Отлично для закладки! Также есть плагин Chrome, если это вам больше нравится - не уверен в других браузерах.
Анонимный Андрей также указал здесь
monitorEvents(window);
источник
Scripts
в инструментах Dev (или инспекторе), вам нужно войти,Sources
а затем посмотреть на меню справа.Похоже, Firebug (надстройка Firefox) знает ответ:
Log Events
Closed
(вручную)во вкладке Console будет что-то вроде этого:
Источник: Firebug Совет: журнал событий
источник
Что касается Chrome, проверьте monitorEvents () через API командной строки.
monitorEvents(window);
Просмотр консоли, переполненной событиями
Есть и другие примеры в документации . Я предполагаю, что эта функция была добавлена после предыдущего ответа.
источник
monitorEvents($('#element').get())
unmonitorEvents(window)
Вы можете использовать getEventListeners в консоли разработчика Google Chrome .
источник