JS Puppeteer:自动输入多个字符
JS Puppeteer: enter multiple chars atomically
我正在尝试使用 type
填写 html 表格。根据文档:
page.type(selector, text[, options])
...
Sends a keydown, keypress/input, and keyup event for each character in the text.
我对干扰我打字过程的其他事件有疑问。如何自动输入文本? IE。与单个 keydown
事件?
您可以这样做,page.keyboard.sendCharacter("text")
,这将执行类似于一次性粘贴到文本中的操作。确保首先聚焦您要输入的选择器。
await page.focus('selector');
await page.keyboard.sendCharacter('text');
我不知道它是否符合你的需要,但如果你想避免键盘事件,你可以直接设置输入值
await page.evaluate(() => document.querySelector("YOUR_SELECTOR").value = "Puppeteer");
或者,如果您只需要一个 keydown
事件,您可以通过将值设置为 "almost" 您需要的
来欺骗 Puppeteer
await page.evaluate(() => document.querySelector("YOUR_SELECTOR").value = "Puppetee");
并且只对最后一个字符使用 type
await page.type("YOUR_SELECTOR", "r");
我正在尝试使用 type
填写 html 表格。根据文档:
page.type(selector, text[, options])
...
Sends a keydown, keypress/input, and keyup event for each character in the text.
我对干扰我打字过程的其他事件有疑问。如何自动输入文本? IE。与单个 keydown
事件?
您可以这样做,page.keyboard.sendCharacter("text")
,这将执行类似于一次性粘贴到文本中的操作。确保首先聚焦您要输入的选择器。
await page.focus('selector');
await page.keyboard.sendCharacter('text');
我不知道它是否符合你的需要,但如果你想避免键盘事件,你可以直接设置输入值
await page.evaluate(() => document.querySelector("YOUR_SELECTOR").value = "Puppeteer");
或者,如果您只需要一个 keydown
事件,您可以通过将值设置为 "almost" 您需要的
await page.evaluate(() => document.querySelector("YOUR_SELECTOR").value = "Puppetee");
并且只对最后一个字符使用 type
await page.type("YOUR_SELECTOR", "r");