Эти 2 фрагмента кода выбирают и щелкают один и тот же элемент?
Практически эквивалентны?
await page.$eval('#loginForm > button', form => form.click());
const button = await page.$('#loginForm > button'); await button.click();
Не всегда.
Первый код просто использует Web-API HTMLElement.click().
HTMLElement.click()
Второй использует более сложным способом :
Этот метод прокручивает элемент в поле зрения, если необходимо, а затем использует page.mouse для щелчка в центре элемента. Если элемент отсоединен от DOM, метод выдает ошибку.
Я читал в различных выпусках, что пользователи по-разному влияли на эти подходы в разных контекстах страницы. Иногда один из них работает правильно, а другой - нет.