nodejs puppeteer如何在iframe中输入输入



我试图在网站上键入我的用户名,但是输入框在iframe内部,我尝试了此代码来定位iframe内部的元素,但我一直遇到错误 JSHandles can be evaluated only in the context they were created!

const puppeteer = require('puppeteer');
(async () => {
  const browser = await puppeteer.launch({headless: false});
  const page = await browser.newPage();
  await page.goto("www.examplesite.com", { waitUntil: 'networkidle0' })
  await sleep(1000)
  const myframe = await page.frames()[2];        
  const userselector = await myframe.$('input[name="usernameinput"]')
  await page.type(userselector, "myusername")
  await page.screenshot({path: 'example.png'});
  await browser.close();
})();

type功能期望选择器字符串而不是句柄。因此,由于框架还具有type函数,因此您可以执行:

await myframe.type('input[name="usernameinput"]', "myusername")

最新更新