Добрый вечер подскажите по такому вопросу, пишу парсер на node js и puppeter использую библеотеку dotenv и столкнулся с такой проблемой.
let productUrl = await page.evaluate(async () => {
let products = []
document.querySelectorAll('div.goods-tile').forEach(el => {
let rating = (el.querySelector('div.stars__rating')) ? el.querySelector('div.stars__rating').getAttribute('style').replace(/.*?(\b\d+%?\b).*/, '$1') : ''
let review = (el.querySelector('span.rating-block-content')) ? el.querySelector('span.rating-block-content').innerText : ''
let label = (el.querySelector('span.promo-label_type_popularity')) ? el.querySelector('span.promo-label_type_popularity').innerText.trim() : ''
if (rating >= 60 && review >= process.env.REVIEW && label == 'ТОП ПРОДАЖ') {
let url = el.querySelector('a.goods-tile__picture').href
url = url.split('?')[0]
products.push(url)
}
})
return products
})
if (rating >= 60 && review >= process.env.REVIEW && label == 'ТОП ПРОДАЖ') { process.env.REVIEW но почему то не передаеться туда в forEach значение. Не подскажите как это можно исправить?
P.S. Такой вариант тоже пробовал
let productUrl = await page.evaluate(async (REVIEW ) => {
let products = []
document.querySelectorAll('div.goods-tile').forEach(el => {
let rating = (el.querySelector('div.stars__rating')) ? el.querySelector('div.stars__rating').getAttribute('style').replace(/.*?(\b\d+%?\b).*/, '$1') : ''
let review = (el.querySelector('span.rating-block-content')) ? el.querySelector('span.rating-block-content').innerText : ''
let label = (el.querySelector('span.promo-label_type_popularity')) ? el.querySelector('span.promo-label_type_popularity').innerText.trim() : ''
if (rating >= 60 && review >= process.env.REVIEW && label == 'ТОП ПРОДАЖ') {
let url = el.querySelector('a.goods-tile__picture').href
url = url.split('?')[0]
products.push(url)
}
})
return products
}, process.env.REVIEW )