javascript - 在谷歌登录页面输入密码的问题
问题描述
我是 node/puppeteer 的新手,我在单击下一步按钮以将 int 密码添加到 Google 登录表单时遇到问题。我可以添加电子邮件并单击电子邮件的下一步按钮。我也可以添加密码。我只是无法单击下一个按钮使其工作我在网上查看并尝试了 await page.waitForNavigation(); 但这没有帮助。我错过了什么?
const browser = await puppeteer.launch({headless: true});
const page = await browser.newPage();
await page.setUserAgent('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3542.0 Safari/537.36');
// Set up Broswer
await page.goto(CREDS.site);
await page.waitForNavigation();
await page.click('#identifierId');
await page.keyboard.type(CREDS.username, { delay: 5 });
await page.click('#identifierNext');
// Go to website click email field, type in email, click next
await page.waitForNavigation();
await page.waitForSelector('#password input[type="password"]', { visible: true });
await page.type('#password input[type="password"]', CREDS.password, { delay: 5 });
await page.waitForNavigation();
await page.click('#passwordNext');
// wait for next page type in password click next
我不确定我缺少什么才能单击下一步按钮输入密码。它适用于电子邮件。我究竟做错了什么?
解决方案
我想到了。page.waitForNavigation(); 可能不是这里的最佳用途。我尝试了 page.waitForSelector 并且能够让它工作!谢谢 :)
推荐阅读
- java - Spring Mongo 聚合项目过滤器
- regex - bbedit - 如何将多个字符串更改为标题大小写?
- javascript - 如何在迁移中更新约束
- javascript - Jest 有时找不到模块
- docker - 从另一个 docker 容器访问 docker 容器
- swift - 未来的组合接收器没有收到任何值
- pointers - 如何创建新结构并将其原始值用作新结构的成员
- spring - 如何将输入验证错误映射到 Spring 中的特定错误代码
- java - java - 如何按排序顺序打印Java Set of Sets元素?
- java - 为什么“javax.net.ssl.SSLHandshakeException”?