Le site sur lequel j'effectue des tests automatisés avec Puppeteer affiche des popups d'informations si les actions ont réussi ou en cas d'échec. Malheureusement, ces popups couvrent parfois des boutons sur lesquels mon script doit cliquer. Ce serait génial si je pouvais injecter du CSS dans le site pour cacher ces popups. Existe-t-il une manière intégrée de procéder?
Vous pouvez utiliser page.evaluate()
pour injecter une feuille de style dans la page actuelle en utilisant la méthode suivante:
await page.evaluate(async () => {
const link = document.createElement('link');
link.rel = 'stylesheet';
link.href = 'https://example.com/style.css';
const promise = new Promise((resolve, reject) => {
link.onload = resolve;
link.onerror = reject;
});
document.head.appendChild(link);
await promise;
});
Alternativement, vous pouvez également utiliser page.evaluate()
pour injecter du CSS brut dans la page actuelle:
await page.evaluate(async () => {
const style = document.createElement('style');
style.type = 'text/css';
const content = `
#example {
color: #000;
}
`;
style.appendChild(document.createTextNode(content));
const promise = new Promise((resolve, reject) => {
style.onload = resolve;
style.onerror = reject;
});
document.head.appendChild(style);
await promise;
});