首页 > 解决方案 > 在谷歌登录页面输入密码的问题

问题描述

我是 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

我不确定我缺少什么才能单击下一步按钮输入密码。它适用于电子邮件。我究竟做错了什么?

标签: javascriptnode.jsweb-scrapingpuppeteer

解决方案


我想到了。page.waitForNavigation(); 可能不是这里的最佳用途。我尝试了 page.waitForSelector 并且能够让它工作!谢谢 :)


推荐阅读