web-dev-qa-db-fra.com

En appuyant sur le bouton Entrée chez le marionnettiste

En appuyant sur entrer dans marionnettiste ne semble pas avoir d'effet. Cependant, lorsque j'appuie sur d'autres touches, il fait ce qu'il devrait. Cela marche:

await page.press('ArrowLeft');

Cela ne veut pas:

await page.press('Enter');

Voici à quoi ressemble l'entrée:

enter image description here

Des idées?

EDIT: J'ai aussi essayé page.keyboard.down & page.keyboard.up pour en être sûr.

22
elena
await page.type(String.fromCharCode(13));

En utilisant ce site j'ai remarqué que page.type _ distribue beforeinput et input événements, mais page.press ne le fait pas. Il s’agit probablement d’un bogue, mais heureusement, l’envoi du code d’entrée (13) semble fonctionner, nous pouvons donc le contourner pour le moment.

20
BlackCap

J'ai utilisé page.keyboard.press('Enter'); en général :) Fonctionne pour moi.

Regardez la documentation ici . Je pense que vous devriez utiliser .keyboard avant .press pour que cela fonctionne correctement.

21
kaiak

page.keyboard.press ():

Vous pouvez utiliser page.keyboard.press() pour simuler en appuyant sur la touche Entrée. N'importe laquelle des options suivantes devrait fonctionner:

await page.keyboard.press('Enter'); // Enter Key
await page.keyboard.press('NumpadEnter'); // Numeric Keypad Enter Key
await page.keyboard.press('\n'); // Shortcut for Enter Key
await page.keyboard.press('\r'); // Shortcut for Enter Key

elementHandle.press ():

De plus, vous pouvez utiliser une combinaison de page.$() et elementHandle.press() pour vous concentrer sur un élément avant d'appuyer sur Entrée:

await (await page.$('input[type="text"]')).press('Enter'); // Enter Key
await (await page.$('input[type="text"]')).press('NumpadEnter'); // Numeric Keypad Enter Key
await (await page.$('input[type="text"]')).press('\n'); // Shortcut for Enter Key
await (await page.$('input[type="text"]')).press('\r'); // Shortcut for Enter Key

page.type ():

De plus, vous pouvez utiliser page.type() :

await page.type(String.fromCharCode(13));

page.keyboard.type ():

De même, vous pouvez utiliser page.keyboard.type() :

await page.keyboard.type(String.fromCharCode(13));

page.keyboard.sendCharacter ():

Une autre méthode consisterait à utiliser la méthode page.keyboard.sendCharacter() :

await page.keyboard.sendCharacter(String.fromCharCode(13));

page.keyboard.down ()/page.keyboard.up ():

Vous pouvez également utiliser une combinaison de page.keyboard.down() et page.keyboard.up() :

// Enter Key
await page.keyboard.down('Enter');
await page.keyboard.up('Enter');

// Shortcut for Enter Key
await page.keyboard.down('NumpadEnter');
await page.keyboard.up('NumpadEnter');

// Shortcut for Enter Key
await page.keyboard.down('\n');
await page.keyboard.up('\n');

// Shortcut for Enter Key
await page.keyboard.down('\r');
await page.keyboard.up('\r');
13
Grant Miller