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

Puppeteer无法向指定input输入框写入内容该如何解决

问题原因

你使用的类选择器.form-control.mb-2.mr-sm-2.mb-sm-0在目标页面存在多个匹配项,第一个被匹配到的元素是页面中不可见的非导航区搜索框,因此输入内容被写入了隐藏元素,页面上自然看不到输入结果。

解决方法

改用更精准的选择器定位到导航栏可见的搜索框后再执行输入操作,推荐用属性选择器直接匹配搜索框的placeholder属性,修改后的代码如下:

const browser = await puppeteer.launch({
    headless: false,
    slowMo: 100,
});
const page = await browser.newPage();
await page.goto('https://cb01.tattoo/');
// 改用精准的属性选择器定位可见的搜索框
await page.waitForSelector('input[placeholder="Search..."]');
console.log('passed');
// 可选:先点击激活输入框再输入,避免部分站点限制未聚焦输入
await page.click('input[placeholder="Search..."]');
await page.type('input[placeholder="Search..."]', 'hello');
// 也可以直接用$eval赋值,同样生效
// await page.$eval('input[placeholder="Search..."]', el => el.value = 'hello');
console.log('end');
// await browser.close();

如果还是出现输入失效的情况,可以在page.goto时添加等待配置,确保页面资源完全加载后再操作:

await page.goto('https://cb01.tattoo/', { waitUntil: 'networkidle2' });

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 05:36:01