从页面内的 ElementHandle 获取输入类型。$$('input')

我已经设置了puppeteer来遍历所有标签,并用随机的东西填充它们(或者只是在下面的代码中blabla)。


const puppeteer = require('puppeteer');

(async ()=> {

const browser = await puppeteer.launch();

const page = await browser.newPage();

await page.goto('https://www.roboform.com/filling-test-all-fields')

//^ Not my page, for test purposes only ^

const inputs = await page.$$('input');

for (let i = 0; i < inputs.length ; i++) {

  const curren = inputs[i];

  await curren.type('blablabla');

  //Find out curren's input type here

}

await page.screenshot({path: 'test.png'});

await browser.close();

})

();

现在,我需要知道输入标签的类型是什么:文本,密码,重置等。


有了 ,它显示了很多东西,加上我实际需要的东西,在 .我如何在远程对象中实际获得该值?console.log(await curren.getProperty('type'))_client: CDPSession { _remoteObject: { type: 'string', value: 'reset' } }


扬帆大鱼
浏览 61回答 1
1回答

喵喵时光机

getProperty将返回 .如果您需要该值,可以调用:JSHandleJSHandlejsonValue()const&nbsp;type&nbsp;=&nbsp;await&nbsp;(await&nbsp;curren.getProperty('type')).jsonValue();如果要在一次调用中执行此操作,可以使用 evaluate:const&nbsp;type&nbsp;=&nbsp;await&nbsp;page.evaluate(el&nbsp;=>&nbsp;el.getAttribute('type'),&nbsp;current);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript