gpt4 book ai didi

javascript - 在 puppeteer 中滚动到 div 的底部不起作用

转载 作者:行者123 更新时间:2023-12-03 17:17:47 25 4
gpt4 key购买 nike

所以我试图在下图中的方框区域中刮掉所有的音乐会:
/image/7QIMM.jpg
问题是列表仅显示前 10 个选项,直到您在该特定 div 中向下滚动到底部,然后它会动态显示更多选项,直到没有更多结果为止。我尝试按照以下链接的答案进行操作,但无法向下滚动以呈现所有“音乐会”:
How to scroll inside a div with Puppeteer?
这是我的基本代码:

const browser = await puppeteerExtra.launch({ args: [                
'--no-sandbox'
]});

async function functionName() {
const page = await browser.newPage();
await preparePageForTests(page);
page.once('load', () => console.log('Page loaded!'));
await page.goto(`https://www.google.com/search?q=concerts+near+poughkeepsie&client=safari&rls=en&uact=5&ibp=htl;events&rciv=evn&sa=X&fpstate=tldetail`);

const resultList = await page.waitForSelector(".odIJnf");
const scrollableSection = await page.waitForSelector("#Q5Vznb"); //I think this is the div that contains all the concert items.
const results = await page.$$(".odIJnf"); //this needs to be iterable to be used in the for loop

//this is where I'd like to scroll down the div all the way to the bottom

for (let i = 0; i < results.length; i++) {
const result = await (await results[i].getProperty('innerText')).jsonValue();
console.log(result)
}
}

最佳答案

试试这个在音乐会列表上向下滚动。您可以继续循环,直到结果数量停止增加,或者您找到了您正在寻找的音乐会:

await page.evaluate(()=>{
document.querySelector("#Q5Vznb").scrollIntoView(false);
});

关于javascript - 在 puppeteer 中滚动到 div 的底部不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67473665/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com