Если вы вручную нажмете на свой внутренний элемент, вы заметите, что он заставляет ваши журналы дважды срабатывать.Один раз для фактического элемента click, затем снова для «смоделированного» элемента, который вы сработали с element.click()
.
Почему он не продолжает цикл?Что ж, похоже, что «симулированный» щелчок может быть выдан только один раз на элемент за цикл обработки итераций.Попытки испустить его снова из того же элемента в той же итерации будут игнорироваться.Причина, по которой это допускается, когда вы помещаете setTimeout
, заключается в том, что setTimeout
помещает его в более позднюю итерацию цикла событий.
Это, кажется, функция, встроенная в метод element.click
, вероятнос явной целью предотвращения таких бесконечных циклов.К сожалению, документация по MDN не особенно детализирована, и я не уверен, куда еще копать, чтобы подтвердить.