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