javascript - 如何使用 puppeteer 在输入框中输入内容?
问题描述
我正在为正在制作的机器人做实验,但由于某种原因,我无法让它输入到 youtube 的输入框中。
(async () => {
const browser = await puppeteer.launch({ headless: false });
const page = await browser.newPage();
await page.goto('https://www.youtube.com/?hl=hr&gl=HR');
await page.waitForNavigation({
waitUntil: 'networkidle0',
});
await page.type('#search', `text`)
// await browser.waitForTarget(() => false)
// await browser.close();
})();
#search 是 youtube 搜索栏的 ID,但由于某种原因无法正常工作
解决方案
你的问题是 waitUntil: 'networkidle0'
async () => {
const browser = await puppeteer.launch({ headless: false });
const page = await browser.newPage();
await page.goto('https://www.youtube.com/?hl=hr&gl=HR');
await page.waitForSelector('input#search')
await page.type('input#search', `text`)
})();
推荐阅读
- node.js - nodejs中客户端取消请求时如何停止下载
- javascript - 如何将对象添加到本地存储中的列表
- swift - 斯威夫特 | GoogleSignIn pod:为 iOS 模拟器构建,但在为架构 arm64 的 iOS 文件构建的目标文件中链接
- javascript - 令人困惑的 CORS 错误以及如何使用 CORS 代理
- javascript - Discord.js, dming 具有一定作用的人
- google-analytics - Google Analytics 不显示综合浏览量
- google-cloud-platform - GKE AutoPilot 不会自动扩展我的节点
- android - 在android中通过WebView处理用户登录
- ios - IOS VoiP 推送不适用于 APNS 推送
- html - 内容滚动隐藏的 HTML 正文溢出