NodeJS Linkedin Like bot

5m1hhzi4  于 2023-10-17  发布在  Node.js
关注(0)|答案(1)|浏览(104)

我有一个机器人,以不同的用户登录,喜欢一家公司的最新帖子。三天前,它停止工作。我没有注意到,因为当我运行它时,一切似乎都很好。但是如果你去LinkedIn页面,这些文章就不受欢迎了。在那之前一切都很顺利。
我相信这与LinkedIn的改变有关。
下面是主代码:

const config = require('./config')
const logger = require('./logger')
const { all } = require('./options')
const { sanitize } = require('./util')

module.exports = async (page, company) => {
    logger.info(`Go to ${company} page...`)

    await page.goto(`${config.get('url')}/company/${company}/`)

    logger.info('Waiting for new articles...')

    const feed = await page.waitForSelector('#organization-feed')
    await feed.hover()

    let article

    while (
        article = await page.waitForSelector('#organization-feed .feed-shared-update-v2').catch(() => null)
    ) {        
        await article.hover()

        const button = await article.$('.feed-shared-social-action-bar [aria-label="Like"]')
        
        if(button === null)
        {
            await page.evaluate(node => node.remove(), article);
            await page.waitFor(config.get('sleep'))
            await page.evaluate(() => window.scrollBy({ top: -100 }))
            await page.waitFor(100)
            await page.evaluate(() => window.scrollBy({ top: 1000 }))
            continue;
        }

        await button.hover()
    
        const liked = await page.evaluate(node => node.getAttribute('aria-pressed') === 'true', button)
        const text = await page.evaluate(node => node.querySelector('.feed-shared-text').innerText, article)

        if (!liked) {
            logger.info(`Like → ${sanitize(text)}...`)
            await button.click({ delay: 20 })
        } else if (!all) {
            break
        }

        await page.evaluate(node => node.remove(), article)
        await page.waitFor(config.get('sleep'))
        await page.evaluate(() => window.scrollBy({ top: -115 }))
        await page.waitFor(100)
        await page.evaluate(() => window.scrollBy({ top: 1000 }))
    }
}

当我看到正在发生的事情时,机器人打开浏览器,以用户身份登录,进入公司页面并开始滚动文章。它曾经点击喜欢按钮在这一点上,但它似乎失去了喜欢按钮现在。
提前感谢!

5lhxktic

5lhxktic1#

Linkedin将他们的咏叹调标签从[aria-label=“Like”]改为[aria-label=“Like company-names' post”]只需将我的代码更新为

相关问题