You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Puppeteer如何定位无ID属性的input表单元素并完成内容填充

你之前的代码选择器写法错误,直接写st100972会被识别为查找标签名为st100972的元素,自然无法匹配到目标input。你可以通过CSS属性选择器匹配元素的name、class等属性定位,无需修改前端源码:

场景1:无需触发输入事件,直接赋值即可

// 匹配name属性为st100972的input元素,直接修改值
await page.waitForSelector('input[name="st100972"]');
await page.$eval('input[name="st100972"]', el => el.value = '3');

如果担心页面有其他同名元素,可以组合class属性提升定位精度:

await page.waitForSelector('input[name="st100972"].ibro_sb');
await page.$eval('input[name="st100972"].ibro_sb', el => el.value = '3');

场景2:表单需要触发键盘输入事件才能走校验逻辑

用模拟真实输入的写法即可:

const targetInput = await page.waitForSelector('input[name="st100972"].ibro_sb');
// 全选原有值后删除
await targetInput.click({ clickCount: 3 });
await targetInput.press('Backspace');
// 输入目标值
await targetInput.type('3');

内容的提问来源于stack exchange,提问作者NightShadeTVN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 06:24:05