Automation 如何使用Puppeter删除输入文本

Automation 如何使用Puppeter删除输入文本,automation,puppeteer,Automation,Puppeteer,我需要通过Puppeter删除iFrame中的文本。我可以使用page方法/对象轻松地完成它,即 await page.click(cssSelectorInput); for (let i = 0; i < settings._30; i++) { await page.keyboard.press('Backspace'); } 等待页面。单击(CSS选择输入); 对于(设i=0;i

我需要通过Puppeter删除iFrame中的文本。我可以使用page方法/对象轻松地完成它,即

await page.click(cssSelectorInput);
for (let i = 0; i < settings._30; i++) {
    await page.keyboard.press('Backspace');
}
等待页面。单击(CSS选择输入);
对于(设i=0;i
上述操作将从CSS选择器cssSelectorInput中删除30个或更少的字符。 但是,当我尝试时:

// Get the iFrame in Signle Sign On page
const frameHandle = await page.$('iframe[id="sso-iframe"]');
const frame = await frameHandle.contentFrame();

await frame.click(cssSelectorInput);
for (let i = 0; i < settings._30; i++) {
    await frame.keyboard.press('Backspace');
}
//在Signle Sign On页面中获取iFrame
const frameHandle=wait page.$('iframe[id=“sso iframe”]”);
const frame=await frameHandle.contentFrame();
等待帧。单击(CSS选择器输入);
对于(设i=0;i
是的,我知道,看着木偶演员,框架。键盘不在那里。那么,如何通过Puppeter从输入框中删除文本呢?

这似乎没问题:

从“木偶师”导入木偶师;
const browser=wait puppeter.launch({headless:false,defaultViewport:null});
常量html=`
试验
`;
试一试{
const[page]=wait browser.pages();
wait page.goto(`data:text/html,${html}`);
等待page.frames()[1]。单击('input');
for(设i=0;i<4;i++){
等待页面。键盘。按('Backspace');
}
}catch(err){console.error(err);}

是的,我不认为这对我有用。我基于框架句柄,不能使用“页面”方法。我试过你的建议,但没用。你知道如何在键盘输入中使用框架句柄吗?我会将框架句柄添加到上面的代码中。如果你通过
页面获得框架句柄。$()
为什么不能在
页面上使用相同的
页面
键盘。以后按()
键?如果我没有弄错,键盘方法是基于。这里没有提到框架或元素目标,所以可能整个页面的键盘界面都是全局的,浏览器可能会自动将事件发送到聚焦的框架和元素。您的问题可能有另一个原因。试着提供一个代码来重现这个问题,或者更详细地描述它。好吧,这很有效——你很聪明。我有一个单独的问题,阻止执行上述建议,但一旦我清除了障碍,它就完美地工作了。谢谢@vsemozhebuto!