NodeJS puppeteer timeout 30000ms exceeded error

I am doings a web scraper for SPA’s, however, on some, I run into errors, while it works on others. I am not sure if my targeted selector is wrong sometimes, or there is request throttling due to large data sets returned, or too many requests from the same IP, however, it is less data than the pages regular API queries.

I am using NodeJS, puppeteer, Express and as I said, on some web pages, it works, especially on smaller data sets.

The error handler reports “Error while fetching {my request} timeout 30000ms exceeded error “.

I have used the trouble shooting from other answers setting that parameter to zero.

await page.goto('https://www.autoscout24.ch/de/autos/bmw--3-series?yearfrom=2006&priceto=5000&make=9&model=46&vehtyp=10', {timeout: 0});

I have searched for solutions on SO and on blogs, but none of them work for me.

The targeted URL is https://www.autoscout24.ch/de/autos/bmw–3-series?yearfrom=2006&priceto=5000&make=9&model=46&vehtyp=10 , where I simply want the price value, maybe my puppeteer selector is wrong, the price is well down the DOM tree, see the image:

Screenshot console

The full code is this:

const puppeteer = require('puppeteer');
const express = require('express');
const app = express();
const path = require('path');
const router = express.Router();

app.set('view engine', 'ejs');



(async () => {
try {
const browser = await puppeteer.launch();
const page = await browser.newPage();
const navigationPromise = page.waitForNavigation();


await page.goto('https://www.autoscout24.ch/de/autos/bmw--3-series?yearfrom=2006&priceto=5000&make=9&model=46&vehtyp=10', {timeout: 0});

await page.setViewport({ width: 1440, height: 744 });
await navigationPromise;


await page.waitForSelector('d-inline-block font-weight-bold h2 mr-2 mb-0');
let CarPrices = await page.$$eval('d-inline-block font-weight-bold h2 mr-2 mb-0', price => {
  return price.map(prices => prices.innerText);
});

console.log(`Prices are: ${CarPrices.join(', ')}`);
await browser.close();
app.get('/', function(req, res) {
  res.render('pages/index', { key: `The prices for these cars are: ${CarPrices.join(', ')}` });
});


  app.use('/', router);
  app.listen(process.env.port || 3000);

  console.log('Running at Port 3000');
} catch (e) {
console.log(`Error while fetching prices ${e.message}`);
}
})();

Am I targeting the selector right or is there something off?

Do I have to set the time out value different/in another place?