【发布时间】:2021-07-30 15:16:14
【问题描述】:
我第一次使用 puppeteer 在本地托管的 firebase 云功能 上运行它。 我一直在尝试使用不同的帐户,我等了几个小时以便错误可以解决,但没有运气。我得到的错误:
我无法与网站互动,即使我切换路线,这也是唯一弹出的内容。
我做过/尝试过的事情: 我按照本教程编写了完全相同的应用程序:https://www.youtube.com/watch?v=dXjKh66BR2U 如果有类似我的问题,在谷歌上搜索了几个小时,仍然没有适合我的解决方案。
编辑:
我使用的代码基本上来自fireship.io:
const puppeteer = require('puppeteer');
const scrapeImages = async (username) => {
const browser = await puppeteer.launch( { headless: true });
const page = await browser.newPage();
await page.goto('https://www.instagram.com/accounts/login/');
// Login form
await page.screenshot({path: '1.png'});
await page.type('[name=username]', 'fireship_dev');
await page.type('[name=password]', 'some-pa$$word');
await page.screenshot({path: '2.png'});
await page.click('[type=submit]');
// Social Page
await page.waitFor(5000);
await page.goto(`https://www.instagram.com/${username}`);
await page.waitForSelector('img ', {
visible: true,
});
await page.screenshot({path: '3.png'});
// Execute code in the DOM
const data = await page.evaluate( () => {
const images = document.querySelectorAll('img');
const urls = Array.from(images).map(v => v.src);
return urls;
});
await browser.close();
console.log(data);
return data;
}
我在控制台上遇到的错误:
UnhandledPromiseRejectionWarning: TimeoutError: waiting for selector `input[name="username"]` failed: timeout 30000ms exceeded
【问题讨论】:
-
在您投票结束之前,请考虑添加一条评论,说明如何提高清晰度。谢谢。
-
您好,您可以将您的代码连同您遇到的错误信息一起添加到您的问题中。
-
我提高了清晰度,更新了问题。
-
可能 instagram 只是不喜欢你刮
标签: node.js firebase google-cloud-functions instagram puppeteer