如何从 Puppeteer 将文本输入到 Flash TextArea 中?
How do you enter text into a Flash TextArea from Puppeteer?
我正在尝试通过 Puppeteer 在 Flash 对象中自动登录。我已经通过单击自动聚焦在 Flash TextArea 上,这似乎有效(出现表示您正在键入的垂直闪烁条)。但是,我已经尝试使用 page.keyboard.press
、page.keyboard.up
/page.keyboard.down
和 page.keyboard.type
,并且 none 成功地将文本输入到用户名或密码字段中。此外,我在 Flash 对象上设置了一个注入 Javascript 到 console.log
每个 keypress
事件的键名,它只在我专注于 Flash 手动输入时触发目的。在我尝试使用 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
};
此代码不会导致 Flash TextArea 中出现任何文本。但是,正确的用户名会记录到控制台。
我是不是犯了一个错误,或者在 Puppeteer 中或者甚至只是在浏览器中有一些通用的方法 Javascript 可以将文本输入到我丢失的 Flash TextArea 中?谢谢。
尝试使用更底层的函数,如 keyboard.sendCharacter
,它不处理 keyboard.press
的所有奇怪事件处理。
我正在尝试通过 Puppeteer 在 Flash 对象中自动登录。我已经通过单击自动聚焦在 Flash TextArea 上,这似乎有效(出现表示您正在键入的垂直闪烁条)。但是,我已经尝试使用 page.keyboard.press
、page.keyboard.up
/page.keyboard.down
和 page.keyboard.type
,并且 none 成功地将文本输入到用户名或密码字段中。此外,我在 Flash 对象上设置了一个注入 Javascript 到 console.log
每个 keypress
事件的键名,它只在我专注于 Flash 手动输入时触发目的。在我尝试使用 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
};
此代码不会导致 Flash TextArea 中出现任何文本。但是,正确的用户名会记录到控制台。
我是不是犯了一个错误,或者在 Puppeteer 中或者甚至只是在浏览器中有一些通用的方法 Javascript 可以将文本输入到我丢失的 Flash TextArea 中?谢谢。
尝试使用更底层的函数,如 keyboard.sendCharacter
,它不处理 keyboard.press
的所有奇怪事件处理。