Requestly
HTTP InterceptorPricingRequestly vs PostmanBlogDocsDownload

Home /Integrations / Requestly for Selenium

Requestly for Selenium

Add Network Interception & Modification powers to Selenium without code. Modify Headers, Insert Custom Scripts, Set up Redirects, Add Throttles and much more to Selenium using Requestly.

NPM package Learn More Modheader

The @requestly/selenium package is deprecated. Use @requestly/rq-automation instead for integrating Requestly with your automation framework.

Takes less than a minute

Use Boilerplate Code

Turn your E2E tests into power tools with Requestly. Use the @requestly/rq-automation package to integrate easily, create rules without code, and apply them using a shared list URL or API key.

				``const {   addRequestHeaderUrl, addRequestHeadersUrl,   removeRequestHeaderUrl, removeRequestHeadersUrl,   addResponseHeaderUrl, addResponseHeadersUrl,   removeResponseHeaderUrl, removeResponseHeadersUrl,   importRules,   closeWelcomePage, } = require("@requestly/rq-automation"); const { Builder } = require("selenium-webdriver"); const chrome = require("selenium-webdriver/chrome"); const { getExtension } = require("@requestly/rq-automation"); async function setupDriver() {   const options = new chrome.Options();   // Load Requestly extension   const extensionPath = getExtension("unpacked");   options.addArguments(`--load-extension=${extensionPath}`);   options.addArguments(`--disable-extensions-except=${extensionPath}`);   const driver = await new Builder()     .forBrowser("chrome")     .setChromeOptions(options)     .build();   return driver; } async function seleniumExample() {   const driver = await setupDriver();   await closeWelcomePage(driver);   // Add a single request header   await driver.get(addRequestHeaderUrl("X-Custom-Header", "MyValue"));   // Add multiple request headers   await driver.get(     addRequestHeadersUrl({       Authorization: "Bearer token123",       "X-Another-Header": "AnotherValue",     })   );   // Remove a request header   await driver.get(removeRequestHeaderUrl("X-Another-Header"));   // Remove multiple request headers   await driver.get(     removeRequestHeadersUrl(["Authorization", "X-Custom-Header"])   );   // Add a response header   await driver.get(addResponseHeaderUrl("Access-Control-Allow-Origin", "*"));   // Add multiple response headers   await driver.get(     addResponseHeadersUrl({       "X-Response-Header": "ResponseValue",       "X-Another-Response-Header": "AnotherResponseValue",     })   );   // Remove a response header   await driver.get(removeResponseHeaderUrl("X-Another-Response-Header"));   // Remove multiple response headers   await driver.get(     removeResponseHeadersUrl(["X-Response-Header", "X-Another-Response-Header"])   );   // Import a shared list of rules   await driver.get(importRules("YOUR_API_KEY"));   // Your test code here   await driver.get("https://example.com");   await driver.quit(); } seleniumExample();``