Как вставить (длинный) текст из буфера обмена в Textarea с помощью Puppeteer - PullRequest
0 голосов
/ 12 июня 2019

Я пытаюсь ввести текст в поле текстовой области, используя Puppeteer.

Мой подход заключается в том, чтобы скопировать текст в буфер обмена, затем щелкнуть текстовую область и попытаться вставить ее. Однако текст не добавляется в поле ввода.

Вещи, которые я пробовал:

  • Использование page.type занимает много времени, потому что текст состоит из нескольких тысяч символов. Я бы предпочел этого избежать.

  • Использование страницы. $ Eval ("# textarea", (el, in) => el.value = in, text) не работает, поскольку сайт является SPA.

await clipboardy.writeSync(text);
await page.click("#textarea")
await page.waitFor(500);
await page.keyboard.down('Control');
await page.keyboard.down('Shift');
await page.keyboard.press('KeyV');
await page.keyboard.up('Control');
await page.keyboard.up('Shift');
// does not paste
// also tried, clipboardy.readSync();
// does not paste either

Ожидаемый результат - ввести текст в текстовую область SPA.

1 Ответ

0 голосов
/ 12 июня 2019

Чтобы ответить на мой собственный вопрос, вышеописанный подход с копированием / вставкой работает нормально.

Проблема была в том, что моя текстовая строка была пустой. : [

...