我正在尝试制作一个可以登录的Instagram Bot,然后转到一些个人资料,我的代码昨天工作了一段时间,然后才停止工作。
我尝试从github克隆我的存储库,但是它也不起作用,有时它又可以工作,但是如果我尝试创建另一个函数,则该代码只是忽略更改页面的代码行。
我也尝试过创建一个新页面,然后在该新页面中使用goto函数,它仍然有效,但是该帐户没有保持登录状态
我正在使用的操纵up的版本: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;
它没有给出任何错误消息,只是不起作用
答案 0 :(得分:1)
替换
await instagram.page.click('button[type="submit"]');
await instagram.page.waitFor(1500);
与
await Promise.all([
instagram.page.click('button[type="submit"]');,
instagram.page.waitForNavigation()
]);
看看是否可行