Я пытаюсь автоматизировать вход в объект 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, который Я скучаю? Спасибо.