Puppeteer 网络自动化和随机滚动

puppeteer web-automation and random scroll

提问人:Julian Singh 提问时间:9/4/2023 更新时间:9/4/2023 访问量:49

问:

我正在尝试自动化网站流量机器人,以在谷歌中获得更高的排名。它会在谷歌中搜索我的网站,从结果中选择,转到网站并随机上下滚动一段时间,然后选择一个随机的内部链接,最多大约 3 或 4 页。我需要它对每个页面执行随机滚动。

const puppeteer = require('puppeteer');
const fs = require("fs");
const { scrollPageToBottom } = require('puppeteer-autoscroll-down');


async function asyncCall() {

    // open a new browser
    const browser = await puppeteer.launch({ headless: false });

    // create a new page
    const page = await browser.newPage();
    const navigationPromise = page.waitForNavigation();

    // navigate to google
    await page.goto('https://www.google.com');
    //await page.setViewport({ width: 1920, height: 923 })


    // type slowly and parse the keyword
    await page.waitForSelector('#APjFqb');
    await page.click('#APjFqb');
    await page.type("*[name='q']", "krc seo tools", { delay: 500 });

    // Keyboard press
    await page.keyboard.press('Enter');

    //Navigate to Krc seo Tools
    await page.waitForTimeout(6_000);
    await navigationPromise

    await page.waitForSelector('.MjjYud:nth-child(1) > .g > .N54PNb > .kb0PBd > .yuRUbf > div > a > .LC20lb');
    await page.click('.MjjYud:nth-child(1) > .g > .N54PNb > .kb0PBd > .yuRUbf > div > a > .LC20lb');
    await page.waitForNavigation({waitUntil: 'networkidle2'});
    
    await navigationPromise

   // Page timeout
    await page.waitForTimeout(10_000);

    await browser.close();

}
asyncCall(); 
滚动 Puppeteer WebAutomation

评论

0赞 ggorlen 9/4/2023
第二个在这里什么也没做。一旦 promise 解析,就是这样,它将立即在后续 s 上返回已经解析的值(如果有的话)。此外,没有发生导航,所以我预计这可能只是超时。您的点击和导航似乎是竞争条件。使用长硬编码的>链是糟糕的选择器实践await navigationPromiseawait
0赞 ggorlen 9/4/2023
一般情况下应避免超时。请参阅此关于过多 s 的解释(显示的模式略有不同,但基本问题是相同的)。无论如何,我在这里没有看到问题或澄清任何具体问题/错误。问题到底是什么?谢谢你的澄清。waitForNavigation()
0赞 Julian Singh 9/4/2023
您好,感谢您的回复。我正在尝试随机滚动页面,选择一个内部链接,并像循环一样对另外 2 个页面进行此操作。
0赞 ggorlen 9/4/2023
我理解你想做什么,但是你在这里展示的代码有什么问题?是否有错误或某些行为您不满意?如果是这样,具体是什么?没有提出任何问题或提出具体问题,只是一个高级目标和一些代码,这些代码可能无法实现既定目标,而没有任何解释或问题。
0赞 Julian Singh 9/5/2023
大声笑,我知道它真的没有任何错误,但我希望在页面上下滚动或随机滚动方面获得一些帮助,并在我的网站上自动选择内部链接。任何帮助将不胜感激...

答: 暂无答案