Kod*_* R. 5 javascript instagram
我正在创建一个 Instagram 机器人,可以对用户的照片发表评论。我知道已经有像InstaPy这样的解决方案,但它对我不起作用,而且我自己的 js 解决方案已完成 99%。
有没有办法让我以编程方式发布?我已经设置了 textArea.value 并尝试提交包装表单(它只是刷新页面)。我还尝试“单击”提交按钮,但这并没有导致它执行任何操作。我还尝试在文本区域中“输入”,但如果屏幕上没有任何实际的用户交互以及尝试提交实际的请求,这似乎是不可能的(似乎我的标题不匹配,我得到了一个403 错误。)下面是我当前正在做的代码片段。
var commentTextArea = document.getElementsByClassName('Ypffh')[0];
if (commentTextArea) {
// Text area for posting comment
commentTextArea.textContent = "This is my comment :)";
setTimeout(function() {
// Comment submit button
var submitButton = document.getElementsByClassName('LCjcc')[0];
submitButton.disabled = false;
submitButton.click(); // doesn't fire anything. I can see in chrome dev tools there is no event event attached to this even when enabled which is odd
// Comment form
// Submitting form expectedly refreshes page
// Tried add my own submit listener with return false && e.preventDefault and neither worked
var form = document.querySelector('X7cDz');
if (form) {
form.submit();
}
}, 2000);
}
Run Code Online (Sandbox Code Playgroud)
由于您未提交 csrf 令牌,因此出现 403 错误。您可以在这里阅读更多内容
为了克服这一挑战,您可以使用提供高级 API 的库来控制浏览器,例如Puppeteer。这允许您编写一个脚本来运行浏览器,并像真正的用户一样,浏览页面并在任何您想要的地方留下评论。
以下是登录 Instagram 并在特定帖子下留下评论的代码示例:
const puppeteer = require('puppeteer');
(async () => {
// Starting browser
const browser = await puppeteer.launch({headless: false});
const page = await browser.newPage();
// Login flow
await page.goto('https://www.instagram.com/accounts/login/?source=auth_switcher');
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"]');
// Waiting for page to refresh
await page.waitForNavigation();
// Navigate to post and submitting the comment
await page.goto('https://www.instagram.com/p/BVSCQI-FRaj/');
await page.waitForSelector('textarea');
await page.type('textarea', 'Test comment');
await page.click('button[type="submit"]');
await browser.close();
})();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6166 次 |
| 最近记录: |