According to https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#pagepresskey-options, you can simulate the pressing of a keyboard button with Puppeteer.
Here's what I do:
// First, click the search button
await page.click('#outer-container > nav > span.right > span.search-notification-wrapper > span > form > input[type="text"]');
// Focus on the input field
await page.focus('#outer-container > nav > span.right > span.search-notification-wrapper > span > form > input[type="text"]');
// Enter some text into the input field
await page.type("Bla Bla");
// Press Enter to search -> this doesn't work!
await page.press("Enter");
The pressing of the button doesn't produce anything. It's basically ignored.
How can I simulate the Enter key to submit the form?
Puppeteer is capable of handling a link/button on a page. Before clicking an element we must be able to uniquely identify it with the help of any of the locators. In Puppeteer, we can click an element only if its dimensions are greater than zero pixel.
The details on Puppeteer installation is discussed in the Chapter of Puppeteer Installation. Right-click on the folder where the node_modules folder is created, then click on the New file button. Step 2 − Enter a filename, say testcase1. js.
It fills the login form, submits the login form, waits for the form to be submited and then redirects to dashboard. On the server it works fine if I remove await page. waitForNavigation(); from the code and I get redirected to dashboard.
I've figured it out finally. I found inside that same form an anchor element whose type was submit. I then clicked on it and the form was submitted.
Here's the code I've used:
const form = await page.$('a#topbar-search');
await form.evaluate( form => form.click() );
You can also use the $eval method instead of evaluate:
await page.$eval( 'a#topbar-search', form => form.click() );
await page.$eval('input[name=btnK]', el => el.click());
this will click the submit button in google. As for your page find out the elements or buttons id and then use it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With