Introduction

“Puppeteer ou le remplaçant de Selenium.”
Dans cet article plutôt rapide, on retrouve les commandes de base pour créer un premier petit script qui va piloter un Chrome Headless.

Initialiser un browser non headless

1
2
3
4
5
6
7
8
9
10
11
try {
(async () => {
const browser = await puppeteer.launch({headless: false})

[...]

})()

} catch (err) {
console.error(err)
}
1
2
const page = await browser.newPage()
await page.goto("https://url_du_site")

Ajouter du contenu dans un input type text

1
await page.type('#input_search', 'text_a_ajouter')

Cliquer sur un bouton

1
await page.click('#buttsearch')

Chercher dans tout le corps d’une page si un pattern existe

1
2
3
4
5
6
const found = (await page.content()).match(/Chiffre d\'affaires/) 
if (found) {

[...]

}

Sélectionner un élément par href

1
const elementHandle = await page.$('a[href="#chiffrecle"]');

Obtenir le contenu texte d’un élément

1
const text = await (await elementHandle.getProperty('textContent')).jsonValue();