Я пытаюсь очистить веб-сайт супермаркета с помощью кукловода. Я могу очистить его с помощью плагина Chrome Web Scraper, хотя мне бы хотелось, чтобы у меня была возможность делать это программно. Все, что я получаю, - это пустой экран, и на странице не загружается никакой контент.
Я перепробовал все советы и уловки в сети, чтобы сделать кукловода необнаружимым, и ничего не помогло. См. Ниже. Я установил несколько параметров, которые напоминают обычный сеанс браузера, хотя, похоже, ничего не работает. Есть ли у кого-нибудь советы, которые могут помочь мне очистить этот сайт?
Вот код, который я пробовал:
const puppeteer = require('puppeteer');
(async function main() {
try {
const args = [
'--no-sandbox',
'--disable-setuid-sandbox',
'--disable-infobars',
'--window-position=0,0',
'--ignore-certifcate-errors',
'--ignore-certifcate-errors-spki-list',
'--user-agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3312.0 Safari/537.36"'
];
const options = {
args,
headless: false,
ignoreHTTPSErrors: true,
userDataDir: './tmp',
dumpio: true,
devtools: true
};
//launch the browser
const browser = await puppeteer.launch(options);
//open new page
const page = await browser.newPage();
//set the browser viewport
await page.setViewport({
width: 1920,
height: 1080,
});
//set the language to english
await page.setExtraHTTPHeaders({
'Accept-Language': 'en'
});
//set the URL in a variable
const url = 'https://shop.coles.com.au/a/a-national/product/vanish-napisan-gold-pro-oxiaction';
//Go to the page
await page.goto(url, { "waitUntil": "networkidle2" });
//get the title
const productTitle = await page.$eval('span.product-name', el => el.innerText.trim());
//log the title in the console
console.log(productTitle);
} catch (e) {
console.log('our error', e);
}
})();
Что еще мне попробовать?