JeanSimas
JeanSimas

Reputation: 43

I can't go from a page to another using page.goto() - Puppeteer

I'm trying to make a InstagramBot that logs in and then go to some profile, my code worked yesterday for awhile and than it just stopped working .

I've tried to clone my repository from github, but it does'n work either, sometimes it works again, but if I try to create another function, the code just ignore the line of the code that changes the page.

I've also tried to create a new page and then in this new page use the goto function and it worked, but the account doesn keep logged in

The version of puppeteer that I'm using: 1.16.0

The version of node.js that I'm using: v10.15.3


const puppeteer = require('puppeteer');

const BASE_URL = "https://www.instagram.com/accounts/login/?hl=en&source=auth_switcher";
const instagram = {
  browser: null,
  page: null,
  profile_url: null,
    initialize: async (profile) => {
    instagram.browser = await puppeteer.launch({
      headless: false
    })

    instagram.profile_url = await "https://www.instagram.com/" + profile;
    instagram.page = await instagram.browser.newPage();
    await instagram.page.goto(BASE_URL, {waitUntil: 'networkidle2'});

  },

  login: async(username, password) =>{
    await instagram.page.waitFor(1000);
    await instagram.page.type('input[name="username"]', username);
    await instagram.page.type('input[name="password"', password);
    await instagram.page.click('button[type="submit"]');
    await instagram.page.waitFor(1500);
    await console.log(instagram.profile_url);
    await instagram.page.goto(instagram.profile_url, {timeout: 0, waitUntil: 'domcontentloaded'}); // the code just ignore this line
    await instagram.page.waitFor(1000);
  },
  getPhotosLinks: async() => {
    console.log("Do something here");
  }

}
module.exports = instagram;

It doesn't give any error message, just doesn't work

Upvotes: 3

Views: 2809

Answers (1)

Aleks
Aleks

Reputation: 984

Replace

await instagram.page.click('button[type="submit"]');
await instagram.page.waitFor(1500);

with

await Promise.all([
      instagram.page.click('button[type="submit"]');,
      instagram.page.waitForNavigation()
    ]);

and see if it works

Upvotes: 2

Related Questions