Puppeteer无法进入网页获取选择器
我正在尝试从此网站。该网站由AngularJS渲染,因此我正在尝试使用puppeteer进行数据抓取。
- headless为假,仅显示空白页面
- headless是正确的,它在图像Error while running with headless browser时抛出异常
const puppeteer = require('puppeteer');
async function getProductNames(){
const browser = await puppeteer.launch({ headless: false });
const page = await browser.newPage();
await page.setViewport({ width: 1000, height: 926 });
await page.goto("");
await page.waitForSelector('.product-name')
console.log("Begin to evaluate JS")
var productNames = await page.evaluate(() => {
var div = document.querySelectorAll('.product-name');
console.log(div)
var productnames = []
// leave it blank for now
return productnames
})
console.log(productNames)
browser.close()
}
getProductNames();
P / S:在研究此问题时,我发现该网页实际上是console.log,它列出了每个页面的数据,但是我无法跟踪该请求。如果您能告诉我这怎么可能很棒。
The web page console log data
回答如下:尝试将options参数添加到page.to()
page.goto("https://shop.coles.au/a/richmond-south/specials/search/half-price-specials", { waitUntil: 'networkidle2' })
仅当网络连接不超过2个且持续至少500毫秒时,它才会考虑完成导航。
您可以在此处参考有关选项对象的参数的文档:Goto Options parameter