Загрузка...

Авторизация в вк puppeteer

Тема в разделе Node.js создана пользователем bcemi_3abbltbli 6 апр 2022. 704 просмотра

  1. bcemi_3abbltbli
    bcemi_3abbltbli Автор темы 6 апр 2022 4 31 мар 2020
    Ребят помогите переписать авторизацию в вк под новую, кто поможет подкину денег)


    const puppeteer = require("puppeteer");
    const fs = require('fs');

    (async () => {
    const browser = await puppeteer.launch({
    headless: !false
    });
    const accounts = (await fs.promises.readFile('accounts.txt')).toString().split('\n');
    const sessions = [];
    for (let i = 0; i < accounts.length; i++) {
    const [login, password] = accounts[i].split(':');
    const context = await browser.createIncognitoBrowserContext();
    const page = await context.newPage();
    await page.goto("https://vk.com", {
    waitUntil: "domcontentloaded"
    });
    try {
    await page.type('#index_email', login);
    await page.type('#index_pass', password);
    await page.click('#index_login_button');
    await page.waitForNavigation();
    } catch(e) {
    console.log('\x1b[31m%s\x1b[0m', `(${i + 1}\/${accounts.length}) ошибка для аккаунта ${login} ${password}: ${e.message}`);
    continue;
    }
    if (page.url() == 'https://vk.com/feed') {
    console.log('\x1b[32m%s\x1b[0m', `(${i + 1}\/${accounts.length}) Рабочий аккаунт ${login} ${password} ${i + 1}\/${accounts.length}`);
    } else {
    console.log('\x1b[31m%s\x1b[0m', `(${i + 1}\/${accounts.length}) Не рабочий аккаунт ${login} ${password}`);
    await context.close();
    continue;
    }
    const cookies = await page.cookies();
    const resCookies = [];
    for (let i = 0; i < cookies.length; i++) {
    resCookies.push(`${cookies[i].name}=${cookies[i].value}`);
    }
    sessions.push(resCookies.join('; '));
    await fs.promises.writeFile('Sessions.json', JSON.stringify(sessions));
    await context.close();
    }
    await browser.close();
    })();
     
  2. vtlstolyarov
    vtlstolyarov 6 апр 2022 468 8 янв 2022
    Сколько подкинешь?
     
    1. Посмотреть предыдущие комментарии (1)
    2. vtlstolyarov
      bcemi_3abbltbli, За две сотки скину код, но тестировать будешь сам
    3. bcemi_3abbltbli Автор темы
      vtlstolyarov, Продемонстрируй работоспособность кода
    4. vtlstolyarov
      bcemi_3abbltbli, если я продемонстрирую рабтоспособность, то это я буду тестировать, а за двести рублей мне в падлу. если что-то не будет работать напишешь что не работает и я подправлю код
  3. gcc_machine
    JavaScript
    const puppeteer = require('puppeteer');

    (async () => {
    const browser = await puppeteer.launch({headless: false});
    const page = await browser.newPage();
    await page.goto('https://vk.com/login');
    await page.waitFor('input[name="username"]');
    await page.focus('input[name="username"]');
    await page.keyboard.type('login111');
    await page.focus('input[name="password"]');
    await page.keyboard.type('password');
    await page.click('button[type="submit"]');
    await new Promise(r => setTimeout(r, 5000));

    await browser.close();
    })();
    старый метод, но вероятнее всего твой код не работает и этот тоже будет вряд-ли работать из-за того, что там используется новый vk connect
    советую использовать любое апи вк для авторизации по номеру)
    ниже пример
    JavaScript
    const path = require('path');
    const easyvk = require('easyvk')

    easyvk({
    username: 'login',
    password: 'password',
    sessionFile: path.join(__dirname, '.my-session')
    }).then(async vk => {

    let vkr = await vk.call('messages.send', {
    peer_id: vk.session.user_id,
    message: 'ssss',
    random_id: easyvk.randomId()
    });

    console.log(vkr);

    })
     
Загрузка...
Top