Puppeteer 登录 Instagram

2024-06-30

我正在尝试使用 Puppeteer 登录 Instagram,但不知何故无法登录。

你能帮助我吗?

这是我正在使用的链接:

https://www.instagram.com/accounts/login/ https://www.instagram.com/accounts/login/

我尝试了不同的东西。我最后尝试的代码是这样的:

const puppeteer = require('puppeteer');

(async() => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://www.instagram.com/accounts/login/');
await page.evaluate();

await afterJS.type('#f29d14ae75303cc', 'username');

await afterJS.type('#f13459e80cdd114', 'password');

await page.pdf({path: 'page.pdf', format: 'A4'});

await browser.close();
})();

提前致谢!


好吧,你走在正确的轨道上,但只需要改变一些事情。

  • 首先,我不知道你在哪里afterJS变量从何而来?不管怎样,你都不需要它。
  • 您要求将数据输入到username and password输入字段但不询问puppeteer实际单击登录按钮以完成登录过程。
  • page.evaluate()用于在页面上下文内(即在远程浏览器中加载的网页上)执行 JavaScript 代码。所以你不需要在这里使用它。

我会将您的代码重构为如下所示:

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://www.instagram.com/accounts/login/');
  await page.waitForSelector('input[name="username"]');
  await page.type('input[name="username"]', 'username');
  await page.type('input[name="password"]', 'password');
  await page.click('button[type="submit"]');
  // Add a wait for some selector on the home page to load to ensure the next step works correctly
  await page.pdf({path: 'page.pdf', format: 'A4'});
  await browser.close();
})();

希望这能让您走上正确的道路来通过登录页面!

更新1:
您询问了如何在 Instagram 上解析元素的文本...不幸的是,我自己没有在那里的帐户,因此无法真正为您提供确切的解决方案,但希望这仍然具有一定的价值。

所以你正在尝试评估元素文本,对吧?您可以按如下方式执行此操作:

const text = await page.$eval(cssSelector, (element) => {
  return element.textContent;
});

您所要做的就是更换cssSelector使用您想要从中检索文本的元素的选择器。

更新2:
好的,最后,您询问了有关向下滚动到父元素内的元素的问题。我不会窃取别人的功劳,所以这是答案:

如何滚动到div内的元素? https://stackoverflow.com/questions/635706/how-to-scroll-to-an-element-inside-a-div

您要做的基本上就是按照其中的说明进行操作,并使其与 puppeteer 一起使用,如下所示:

await page.evaluate(() => {
  const lastLink = document.querySelectorAll('h3 > a')[2];
  const topPos = lastLink.offsetTop;

  const parentDiv = document.querySelector('div[class*="eo2As"]');
  parentDiv.scrollTop = topPos;      
});

请记住,我尚未测试该代码 - 我只是直接按照我提供的 URL 中的答案进行操作。它应该有效!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Puppeteer 登录 Instagram 的相关文章

  • 为什么动态安装的 vuejs 内容不是根 vue 实例的子组件?

    我加载一些包含自定义组件的 html 并将该内容挂载到父组件中的固定节点 不幸的是 我发现它们之间没有父子关系 因此动态插入的组件派发的事件无法被根vue接收 我创建了一把小提琴 任何帮助或建议都将受到赞赏 http jsfiddle ne
  • 如何在 Google 地图 v3 中的每个标记上添加编号?

    我想问大家如何使用 JavaScript 在 Google 地图 v3 中的每个标记上动态添加数字 例如 第一个标记是 1 第二个标记是 2 等等 在这种情况下 我的位置数据如下 new google maps LatLng 1 3667
  • 无法使用带有 socket.io 的媒体源从媒体记录器跳转到流

    当首先加载视频观察客户端然后加载网络摄像头客户端时 以下代码可以正常工作 但是 如果顺序交换或以任何方式中断流 例如通过刷新任一客户端 则流将失败并且媒体源会将其就绪状态更改为关闭 我的假设是 在开始时接收的视频需要初始化标头才能启动 并且
  • 获取 ES6 符号的描述

    我想知道是否有一种很好的方法来获取符号的描述 例如 var s Symbol 5 toString 的默认实现将简单地打印 符号 5 我想找到一种方法来提取实际描述 即 5 Symbol description https develope
  • 无法将 Angular 更新到版本 6

    我正在尝试将角度更新到最新版本 我已经更新了全局 angular cli npm install g angular cli 然后当我尝试使用更新本地 angular cli 时ng update angular cli我收到此错误 Err
  • 在heroku上部署node.js TCP服务器

    我创建了一个 TCP 服务器 它使用 node js 从客户端接收消息 使用 TCP 客户端 android 应用程序进行测试 可以在heroku上部署这个吗 这是代码 var http require http var express r
  • 在模式中重新加载内容(twitter bootstrap)

    我正在使用 twitter bootstrap 的模式弹出窗口 div class modal hide fade in div class modal header a class close a h3 Header h3 div div
  • 角度变量初始化

    我在角度控制器中有一个变量 scope abc 我有 Sails 作为后端 scope abc的初始值可以由后端在生成页面时确定 页面显示给用户后 scope abc 可能会也可能不会被用户更改 我可以让后端生成一个完整的静态页面 并让 A
  • jQuery 在变量中搜索文本?

    我有一个变量 其中包含一些文本 一些html 基本上可以是一个字符串 我需要在变量中搜索特定字符串 以便在包含该变量时以不同方式处理该变量 这是我正在尝试做的事情的一个片段 显然不起作用 each data results function
  • 我使用 React 时遇到错误:“无效的 DOM 属性 `for`。您的意思是 `htmlFor`”

    我正在为前端使用 React 创建一个简单的 CRUD 应用程序 但遇到了以下错误 app js 21988 Warning Invalid DOM property for Did you mean htmlFor 这是我的代码 impo
  • 在另一个函数中使用两个不同的axios request函数

    如何在另一个函数中调用两个不同的axios函数 仅当第一个函数成功并返回 200 时 才能调用或实现第二个函数 functions js有两个函数将被导出以在server js 请求的正文是从 json 文件导入的 functions js
  • 文件上传:完成百分比进度条

    我正在尝试为头像上传添加 到目前为止完成的百分比 进度条巴迪出版社 https github com buddypress BuddyPress 目的是阻止用户在上传完成之前离开页面 上传过程由 BuddyPress 处理bp core a
  • JavaScript 可以在重新加载后保持任何状态吗?

    有没有办法让 JavaScript 通过重新加载来保存任何变量 如果用户点击重新加载按钮 一旦页面重新加载 JavaScript 是否会保留任何状态 建议 Cookie HTML 5 网络存储https www w3schools com
  • 在 Javascript 中访问对象属性

    我正在尝试访问电子邮件和密码字段 但我不知道在哪里 0 来了 我正在从 rethinkdb 检索对象 它看起来不错 没有 0 但后来我使用 Lodash assign 像这样的方法 var user new User var finduse
  • 限制 JavaScript 函数调用,但进行排队(不丢弃调用)

    函数如何限制其调用速率 如果调用过于频繁 则不应丢弃 而应排队并及时间隔开 相隔 X 毫秒 我看过throttle http drupalmotion com article debounce and throttle visual exp
  • Phantomjs / Casper.js 带有旋转代理?

    我有一个简单的目标 使用以下任一方式加载网页phantom js 开箱即用 或casper js 很好也更容易 但是使用代理并旋转它如果当前列表不好 即网页加载失败或类似情况 则从列表中选择 我知道 casper js 有 proxypar
  • NodeJS AMQP 客户端无法连接

    最近两天我快疯了 我无法在 NodeJS 客户端上通过持久交换和持久队列建立连接 PHP 代码创建并发送消息
  • Aurelia.io:如何导航到路线

    我有一个包含配置路由的 router js 文件 路线 js export class App configureRouter config router config title Aurelia config map route welc
  • 如何获取 Firebase ID

    有人知道如何获取 Firebase 唯一 id 吗 我试过了name name key key 什么都不起作用 我可以看到数据 但不知道如何取回 id 我需要它 Create new customers into firebase func
  • 当没有电子邮件客户端时,“mailto:”会做什么?

    我正在开发一个网站 什么是mailto 如果没有电子邮件客户端 如 Outlook Thunderbird 等 如何打开 它可以在我的电脑上运行 该电脑装有 Outlook 但如果有人想要怎么办 mailto 例如 在 gmail com

随机推荐

  • iOS:同时录制和播放的示例代码

    我正在为多轨录音机设计一个简单的概念验证 明显的起点是从文件 A caf 播放到耳机 同时将麦克风输入记录到文件 B caf 这个问题 同时录制和播放音频 https stackoverflow com questions 4215180
  • Facebook Graph API 不返回电子邮件

    我有以下代码 fb new Facebook app id gt appId app secret gt appSecret default graph version gt v2 9 oAuth2Client fb gt getOAuth
  • spring依赖注入会创建单例对象吗?

    spring内部是如何管理这些对象的呢 单例对象什么时候创建和销毁 默认情况下 Spring bean 基本上是单例的 Spring 将为每个类创建一个实例 并且通常会在 Spring 初始化时执行此操作 然而 这几乎是无限可定制的 Spr
  • Android IllegalStateException:无法执行活动的方法

    我是安卓新手 我想做的是当我按下按钮并将字符串写入文本字段时通过网络服务获取字符串 清单 xml
  • HTML 电子邮件中的边距有什么替代方案?

    Hotmail 不支持 HTML 电子邮件中的边距 还有其他选择吗 我建议使用表格并调整列的宽度 HTML 电子邮件有时搭配表格效果更好 此外 您还可以查看收件箱中的一封电子邮件 该电子邮件可以执行您想要的操作并检查源代码 由于这个答案似乎
  • System.IO.FileNotFoundException:无法在 Android 的 Mono 中加载程序集 System.Web

    我正在使用 Xamarin 构建一个 Android 应用程序SkyDrive Net API 客户端 http skydriveapiclient codeplex com 但当我尝试在模拟器上运行我的 Android 应用程序时 出现以
  • 在 Xcode 中调试未捕获的异常

    我正在努力更好地使用 Xcode 我打开了 AllExceptions 断点 当我的应用程序崩溃时 我会看到以下内容 Terminating app due to uncaught exception NSRangeException re
  • 如何使用appium和java在Android中向下滚动以单击元素?

    我想知道如何使用appium和java向下滚动以单击Android中的元素 我里面有一个元素列表 android support v7 widget RecyclerView由于它有10多个元素 所以我们需要滑动屏幕才能看到下面的元素 每个
  • Java:如何将所有 java 日期分组到相应的周中?

    Problem 我有一个很大的日期清单 我需要按周安排它们 问题 如何按以下方式对日期进行分组一年中的一周他们在吗 示例数据集 Date date new SimpleDateFormat parse 04 01 2015 Date dat
  • ubuntu升级到14.04 TLS后eclipse Juno经常自动关闭

    在升级到 14 04 之前 我只是在使用 eclipse 但是升级到 14 04 后 我的 eclipse 经常关闭 没有任何警告消息 它会在我的桌面上生成一个 hs err pid4612 log 文件 我该如何解决这个问题 在 ecli
  • 存储图像:数据库或文件系统 -

    我读过一些这方面的帖子 但我仍然不明白对我来说最好的解决方案是什么 我开始编写一个新的网络应用程序 后端将提供有关1 1000万张图像 普通大小200 500kB对于单个图像 我的网站将提供内容和图像100 1000 个用户同时 我还希望使
  • 没有标题和边框的自定义对话框

    基于这里的代码 http developer android com guide topics ui dialogs html CustomDialog http developer android com guide topics ui
  • wsimport Xauthfile 错误

    我正在尝试为我们公司网络外部的受 SSL 保护的 Web 服务 在 Microsoft Biztalk 上 生成客户端 也称为消费者 所需的 java 帮助类 我们只能通过代理访问它 并且无法更改 Web 服务本身的任何内容 这是我提供给
  • 如何让机器人状态显示为“手机在线”

    我看到 NotSoBot 的状态为在线在移动 https i stack imgur com IiF4k png 有没有办法可以在discord js 中做到这一点 我知道这已经很旧了 但更简单的方法是将其添加到定义客户端 机器人的位置 c
  • GSON:如何从 Json 中获取不区分大小写的元素?

    下面显示的代码在以下情况下效果很好JSON对象包含jsonKey因为它被传递给该方法 我想知道 是否有一种方法可以获取分配给不区分大小写的键表示的值 Example public String getOutputEventDescripti
  • 使用 git 签入对 UTF8 BOM 的更改

    我不小心从 Windows 签入了一个 utf8 编码的文本文件 之前没有删除 BOM 现在我尝试在更高版本中删除它并再次签入此更改 git 似乎忽略了 BOM 字节的更改 是否有一个设置可以让 git 让我按原样签入文件 我知道在行结尾方
  • 容器应用服务中缺少 Azure 托管服务标识终结点

    我正在尝试使用 docker compose 预览将我的应用程序部署到 Azure 应用服务容器 部署配置如下 version 3 7 services auth image myorg myimage environment MyOrg
  • JSON 解析错误 - JSON 中位置 1 处出现意外标记 o

    我需要获取一个 JSON 对象并记录标题控制台以实现自动完成功能 我的 json 的示例如下 title Example 1 url http www example1 com title Example 2 url http www ex
  • 在 Powershell 中的 Export-Csv 中使用和不使用管道的区别

    这可能更多的是 PowerShell 如何处理变量和管道 而不是一个特定的编程问题 但由于 对我来说 这似乎是奇怪的行为 我想我应该将其发布在这里 我只是在使用 PowerShell 将变量导出到 CSV 时遇到了一些困难 并发现这个堆栈问
  • Puppeteer 登录 Instagram

    我正在尝试使用 Puppeteer 登录 Instagram 但不知何故无法登录 你能帮助我吗 这是我正在使用的链接 https www instagram com accounts login https www instagram co