Interacting with Elements
Let's go back to our login test. We already have the three elements we need: The user input, the password input, and the login button. Now we need to enter the email and the password and click on the button.
Typing on input elements
The ElementHandle
class has a function called type
. The signature is type(text, [options])
. The options
class is not big this time. It only has a delay
property. The delay is the number of milliseconds Puppeteer will wait between letters. This is great to emulate real user interaction.
The first part of our test would look like this:
const emailInput = await this.page.$('#email'); await emailInput.type(user, {delay: 100}); const passwordInput = await this.page.$('#password'); await passwordInput.type(password, {delay: 100});
Here, we are looking for the email and password elements, and then emulating a user typing on those inputs.
Now, we need to click on the button.