javascript - 我无法使用 page.goto() 从一个页面转到另一个页面 - Puppeteer

标签 javascript node.js puppeteer

我正在尝试制作一个 InstagramBot 登录然后转到某个配置文件,我的代码昨天工作了一段时间,然后就停止工作了。

我试图从 github 克隆我的存储库,但它也不起作用,有时它再次起作用,但如果我尝试创建另一个函数,代码只会忽略更改页面的代码行。

我也试过创建一个新页面,然后在这个新页面中使用 goto 函数并且它起作用了,但是该帐户没有保持登录状态

我使用的 puppeteer 版本:1.16.0

我使用的node.js版本: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;

它没有给出任何错误信息,只是不起作用

最佳答案

替换

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

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

看看有没有效果

关于javascript - 我无法使用 page.goto() 从一个页面转到另一个页面 - Puppeteer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56210575/

相关文章:

javascript - 使用 history.pushState 时防止 404

javascript - 从没有页面刷新的模式异步 Ajax 保存 Laravel 5.2

javascript - 在 Nodejs 中将 SELECT sql 变量数组从一个文件发送到另一个文件

javascript - 使用查找查询返回结果 mongoose v4

javascript - 在 Puppeteer 中获取 "Syntax Error: invalid or unexpected token"

javascript - 如何为base64图片预览添加关闭按钮?

javascript - 修改 NodeJS 中嵌套查询的结果

javascript - 我可以取消 promise 的执行吗?尝试检查数千个链接并且不想等待请求超时

javascript - 如何在 Puppeteer 中设置最大视口(viewport)?

node.js - 如何修复 puppeteer 中的 'page.target is not a function'?