У меня есть гиперссылка на моей странице. Я пытаюсь автоматизировать количество нажатий на гиперссылку в целях тестирования. Можно ли имитировать 50 кликов по гиперссылке с помощью JavaScript?
<a href="#" target="_blank" onclick="javascript:Test("Test");">MSDN</a>
Я ищу триггер события onClick из JavaScript.
javascript
dom-events
user171523
источник
источник
for(
.ОБНОВИТЬ
Это был старый ответ. В настоящее время вы должны просто использовать клик . Для более продвинутого запуска событий используйте dispatchEvent .
Оригинальный ответ
Вот что я использую: http://jsfiddle.net/mendesjuan/rHMCy/4/
Обновлено для работы с IE9 +
Обратите внимание, что вызов
fireEvent(inputField, 'change');
не означает, что он фактически изменит поле ввода. Типичный вариант использования дляinput.value="Something"
запуска события изменения - когда вы устанавливаете поле программно и хотите, чтобы вызывались обработчики событий, так как вызов не вызовет событие изменения.источник
jQuery
или нет). Я могу оказать более значимую помощь, если вы зададите новый вопрос с точным кодом, который вы пытались, но не работали.какой
делает точно вызов
onclick
функцииl
, то есть, если вы установили один сl.onclick = myFunction;
. Если вы не установилиl.onclick
, это ничего не делает. Напротив,имитирует щелчок и запускает все обработчики событий, независимо от того, были ли они добавлены
l.addEventHandler('click', myFunction);
, в HTML или любым другим способом.источник
window
объекту, он не будет волшебным образом представлятьwindow.click
функцию.Мне очень стыдно, что существует так много неправильных или нераскрытых частичных применений.
Самый простой способ сделать это через Chrome или Opera (в моих примерах будет использоваться Chrome) с помощью консоли. Введите в консоль следующий код (обычно в 1 строку):
Это сгенерирует требуемый результат
источник
.click()
не работает с Android (посмотрите документацию Mozilla , раздел для мобильных устройств). Вы можете вызвать событие click с помощью этого метода:Из этого поста
источник
.click()
не работает с Android» На самом деле, в последней таблице написано «Совместимость неизвестна».Используйте рамки тестирования
Это может быть полезно - http://seleniumhq.org/ - Selenium - это система автоматического тестирования веб-приложений.
Вы можете создавать тесты с помощью плагина Firefox Selenium IDE
Ручное срабатывание событий
Чтобы вручную пожары правильного пути вам нужно будет использовать различные методы для различных браузеров - либо
el.dispatchEvent
илиel.fireEvent
гдеel
будет ваш элемент Anchor. Я полагаю, что оба из них потребуют создания объекта Event для передачи.Альтернативный, не совсем правильный, быстрый и грязный способ был бы следующим:
источник
IE9 +
Пример использования:
Источник: https://plainjs.com/javascript/events/trigger-an-event-11/
источник
Честное предупреждение:
element.onclick()
не ведет себя так, как ожидалось. Он только запускает код внутриonclick="" attribute
, но не запускает поведение по умолчанию.У меня была похожая проблема с переключателем, не установившим флажок, чтобы проверить, хотя
onclick
пользовательская функция работала нормально. Пришлось добавить,radio.checked = "true";
чтобы установить его. Вероятно, то же самое относится и к другим элементам (после того,a.onclick()
как должно быть такжеwindow.location.href = "url";
)источник
onclick()
означает, чтоevent
объект не будет автоматически определяться браузером, поэтому общие методы, такие какevent.stopPropagation()
, также не будут определены.источник