Немного ударился головой об эту стену, надеясь, что у кого-нибудь есть какой-то совет.
Я пытаюсь вызвать обработчик onChange на странице, загруженной в Puppeteer. Несмотря на то, что я могу выбрать соответствующую опцию в списке выбора (проверяется отключением без головы), я не могу запустить обработчик событий.
1) Puppeteer предоставляет метод page.select () , который явно заявляет
"Запускает событие изменения и ввода, как только все предоставленные опции имеют
был выбран "
Я могу выбрать ожидаемую опцию, но обработчик событий не запускается
await page.select('select#venue', '40');
2) Использование собственного javascript внутри вызова page.evaluate () для ручного выбора требуемой опции, затем генерации нового события и ручного использования element.dispatchEvent (событие), например,
document.querySelector('select#venue > option:nth-child(4)').selected = "selected";
const event = new Event('change', {bubbles: true});
event.simulated = true;
document.querySelector('select#venue').dispatchEvent(event));
3) Использование jQuery внутри вызова page.evaluate () для ручного выбора нужного opion, а затем запуска события, например
$("select#venue").val(17).change();
Совершенно из идейных людей, и мы ценим мысли!