Sure, you can avoid running a cookie-consent script during your tests in Playwright. Here's how you can do it.
You can use the page.route()
method to intercept and block any requests related to the cookie-consent script. Here's a TypeScript example:
import { chromium } from '@playwright/test';
(async () => {
const browser = await chromium.launch();
const context = await browser.newContext();
// Block cookie-consent script
await context.route('**/cookie-consent.js', route => route.abort());
const page = await context.newPage();
// Now run your tests
await browser.close();
})();
In this example, any network request that matches the pattern "**/cookie-consent.js"
gets aborted.
Alternatively, you can modify the HTML of the page before it loads in Playwright. You can use methods like page.setContent()
or page.evaluate()
to manipulate the DOM and remove or disable any elements related to cookie consent scripts.
Here's an example using page.evaluate()
:
import { chromium } from '@playwright/test';
(async () => {
const browser = await chromium.launch();
const context = await browser.newContext();
const page = await context.newPage();
// Disable cookie-consent script
await page.evaluate(() => {
const consentScript = document.querySelector('script[src="cookie-consent.js"]');
if (consentScript) {
consentScript.remove();
}
});
// Now run your tests
await browser.close();
})();
In this example, the cookie-consent script element gets removed from the DOM if it exists.
Choose the approach that best fits your application's structure and requirements.
If you still have questions, please ask a question and I will try to answer it.
Rayrun is a community for QA engineers. I am constantly looking for new ways to add value to people learning Playwright and other browser automation frameworks. If you have feedback, email [email protected].