Как вы вводите текст в Fla sh TextArea от Puppeteer? - PullRequest
1 голос
/ 19 апреля 2020

Я пытаюсь автоматизировать вход в объект Fla sh через Puppeteer. Я автоматически сфокусировался на Fla sh TextArea, просто щелкнув, и это, кажется, работает (появляется вертикальная мигающая полоса, указывающая, что вы печатаете). Однако я попытался использовать page.keyboard.press, page.keyboard.up / page.keyboard.down и page.keyboard.type, и ни один из них не смог успешно ввести текст в поле имени пользователя или пароля. Кроме того, я установил часть введенного Javascript на console.log имя ключа каждого keypress события на объекте Fla sh, и он срабатывает только тогда, когда я печатаю вручную, фокусируясь на Fla sh объект. Он ничего не записывает во время моих попыток использовать вводы с клавиатуры Puppeteer. Мой код выглядит следующим образом:

const login = async (page) => {
  await page.waitFor(20);
  const username = process.env.SIGNIN_USERNAME;
  await page.click(500,500); // Select the username field
  await page.waitFor(20); // Allow the blinking bar to appear
  await page.keyboard.type(username);
  for(let char of username) {
    await page.keyboard.press(char);
    await page.waitFor(20); // So that it appears like a user is typing
  }
  for(let char of username){
    await page.keyboard.down(char);
    await page.waitFor(10);
    await page.keyboard.up(char);
    await page.waitFor(20);
  }
  await page.type("object",username); // The Flash object is the first object on the page
  console.log(username) // The username is logged to the console and is defined
};

Этот код не приводит к появлению текста в Fla sh TextArea. Однако правильное имя пользователя заносится в консоль.

Я делаю ошибку, или есть какой-то общий способ в Puppeteer или даже просто в браузере Javascript, чтобы ввести текст в Fla sh TextArea, который Я скучаю? Спасибо.

1 Ответ

1 голос
/ 20 апреля 2020

Попробуйте использовать более низкоуровневую функцию, такую ​​как keyboard.sendCharacter, которая не справляется со всей странной обработкой событий keyboard.press.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...