我正在使用Puppeteer,我正在尝试登录我的Gmail帐户
const elementHandle = await page.$('input');
await elementHandle.type('dp-conference@digitalpulp.com');
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()));
发布于 2019-10-03 10:00:57
这个完整的脚本应该可以工作,如果您已经登录或您的帐户使用双因素身份验证,请不要使用此脚本,祝您好运
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"]', 'youremail@gmail.com')
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()
})()
发布于 2018-02-07 07:34:49
如果发生页面加载,那么后续的命令/脚本将无法正常工作,因为它们没有正确加载。为此,有一个waitForNavigation方法。
您的代码将如下所示:
const elementHandle = await page.$('input');
await elementHandle.type('dp-conference@digitalpulp.com');
await page.click("#identifierNext");
// Wait for next pageload
await page.waitForNavigation(waitOptions)
const pw = await page.$('input[type="password"]');
发布于 2021-09-18 04:22:13
这就是现在的工作。一旦它像这样加载,你就可以登录。绕过联邦快递的登录限制:)谢谢@ABDELJALILAITETALEB!
const puppeteer = require('puppeteer-extra');
const StealthPlugin = require('puppeteer-extra-plugin-stealth');
puppeteer.use(StealthPlugin());
doit = async () => {
const browser = await puppeteer.launch({args: ['--no-sandbox'], headless: false});
let page = await browser.newPage();
await page.goto('https://accounts.google.com');
}
doit();
https://stackoverflow.com/questions/48572276
复制相似问题