使用木偶师抓取下拉菜单而不抓取子菜单的最佳方法是什么?



我在尝试抓取一个简单的网站时遇到了麻烦,我是新手,因此可能会有一些错误,我从带有类别的下拉菜单中检索数据,它可以工作但我不确定如何避免抓取子菜单,因为收集的文本完全是一团糟。有什么想法吗?谢谢。

const puppeteer = require('puppeteer');

(async()=>{
const browser = await puppeteer.launch({headless:true});
try{
const page = await browser.newPage();
await page.setViewport({width:1920, height: 1080})
await page.goto('https://www.tiendasjumbo.co/');
await page.waitForSelector('#home-page > nav > div:nth-child(1) > button.button-categories.toggleSlide');

const element = await page.$("#home-page > div.navigation__toggle.wrapper.page-menu > div.center > div.navigation_categories > ul");
const text = await page.evaluate(element => element.textContent, element);
console.log(text);

}catch(err){
console.error(err.message);
}finally{
await browser.close();
}


})();

您可以使用.trim()来删除空格,并使用.innerText来准备字符串。

const text = await page.evaluate(element => element.innerText.trim(), element);

最新更新