我正在使用 Puppeteer 并且正在尝试登录我的 Gmail 帐户
URL:
目前我的代码输入电子邮件表单并提交输入,
然后当页面进入密码屏幕时,无法输入密码。这可能是因为它在技术上不是新页面,而是相同的。不管怎样,当我在电子邮件页面上按 Enter 键时,我似乎无法与这个新页面进行交互。
我尝试了很多方法,但都没有效果。
const elementHandle = await page.$('input');
await elementHandle.type('[email protected] /cdn-cgi/l/email-protection');
await page.click("#identifierNext");
//goes to new page
//this code does not work.
const pw = await page.$('input[type="password"]');
page.on('load', () => console.log("Loaded: " + page.url()));
})
这个完整的脚本应该可以工作,请注意,如果您已经登录或者您的帐户使用双因素身份验证,这不会处理,祝您好运
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({ headless: false})
const page = await browser.newPage()
const navigationPromise = page.waitForNavigation()
await page.goto('https://accounts.google.com/')
await navigationPromise
await page.waitForSelector('input[type="email"]')
await page.click('input[type="email"]')
await navigationPromise
//TODO : change to your email
await page.type('input[type="email"]', '[email protected] /cdn-cgi/l/email-protection')
await page.waitForSelector('#identifierNext')
await page.click('#identifierNext')
await page.waitFor(500);
await page.waitForSelector('input[type="password"]')
await page.click('input[type="email"]')
await page.waitFor(500);
//TODO : change to your password
await page.type('input[type="password"]', 'yourpassword')
await page.waitForSelector('#passwordNext')
await page.click('#passwordNext')
await navigationPromise
//await browser.close()
})()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)