为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

扬帆大鱼 2022-08-27 14:11:50
我已经设置了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' } }
查看完整描述

1 回答

?
喵喵时光机

TA贡献1846条经验 获得超7个赞

getProperty将返回 .如果您需要该值,可以调用:JSHandleJSHandlejsonValue()

const type = await (await curren.getProperty('type')).jsonValue();

如果要在一次调用中执行此操作,可以使用 evaluate:

const type = await page.evaluate(el => el.getAttribute('type'), current);


查看完整回答
反对 回复 2022-08-27
  • 1 回答
  • 0 关注
  • 60 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信