• Website
  • Server status
  • API documentation
  • Blog
Telegram Icon Community
EN
English
Português
Русский
中文 (中国)
Tiếng Việt
Log in Try for €3.99
  • Website
  • Server status
  • API documentation
  • Blog
  • Telegram Icon Community
  • English (US)
    English
    Português
    Русский
    中文 (中国)
    Tiếng Việt
Log in View Plans

Puppeteer, Selenium, and Playwright

Control browser profiles programmatically with Puppeteer, Selenium, and Playwright. Automate web interactions, scraping, and profile management at scale.

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Getting started with Multilogin X automation
  • Basic automation with CLI
  • Low-code automation with Postman
  • Script runner & predefined scripts
  • Puppeteer, Selenium, and Playwright
  • Custom API scripts with Python
  • Quick solutions in Developer Tools
  • Home
  • Multilogin X
  • Task automation with API
  • Puppeteer, Selenium, and Playwright
  • Playwright automation example

Playwright automation example

Written by Villa W ( Updated on April 9th, 2025 )

Updated on April 9th, 2025

Playwright is an open-source automation library designed for testing web applications and automating interactions with web browsers. It offers comprehensive control over browser actions, including navigation, form filling, element clicking, and data extraction from web pages. 

In this article, we will provide a simple script that launches a browser profile and connects it with Playwright.

You can automate Mimic browser profiles using Playwright for your web-scrapers. Note that Playwright for Stealthfox is not available in Multilogin X yet.

 

Before you start

JavaScript

  1. Download Node.js from the official website and install it
  2. Ensure Node.js and npm (Node Package Manager) are installed correctly:
node -v 
npm -v
  1. Create a project directory, then run this command to initialize a new Node.js project and create a package.json file: 
npm init -y
  1. Install Playwright as a dependency for your project: 
npm install playwright
  1. Install Axios and MD5 library: 
npm install axios 
npm install md5
  1. Insert your values into the below variables in the script:
    1. email: your Multilogin X account email
    2. password: your Multilogin X account password (MD5 encryption is not required)
    3. folder_id, profile_id: find these values using our guides on DevTools or Postman
 
 

Python

  1. Install the following Python libraries:
    1. requests
    2. playwright
  2. Install the necessary browser binaries:
playwright install
  1. Insert your values into the below variables in the script:
    1. USERNAME: your Multilogin X account email
    2. PASSWORD: your Multilogin X account password (MD5 encryption is not required)
    3. FOLDER_ID, PROFILE_ID: find these values using our guides on DevTools or Postman
 
 

Running the script

JavaScript

  1. Make sure the agent is connected, as it makes profile launching possible
  2. Make sure Playwright is compatible with the current Mimic core version – check the release notes for Playwright and Mimic
  3. Run the .js file with your automation code

Script example

const { chromium } = require('playwright');
const md5 = require ('md5');
const axios = require('axios');

const HEADERS =  { 
  "Content-Type": "application/json", 
  "Accept": "application/json",
};
const acc_info = {
  // Insert your account information in both variables below
  "email": "",
  "password": md5("")
};

async function get_token() {
  const signIn_URL = "https://api.multilogin.com/user/signin";
  try {
    const response = await axios.post(signIn_URL, acc_info, { headers: HEADERS });
    return response.data.data.token;
  } catch (error) {
    console.log(error.message);
    console.log("Response data:", error.response.data);
    return false;
  }
};
// Insert the Folder ID and the Profile ID below
const folder_id = "";
const profile_id = "";

async function start_browserProfile(){
  const token = await get_token();
  if (!token) return;
  // Update HEADERS with bearer token retrived from the get_token function
  HEADERS.Authorization = 'Bearer ' + token;
  // Launch a profile defining "Playwright" as automation type
  const profileLaunch_URL = `https://launcher.mlx.yt:45001/api/v2/profile/f/${folder_id}/p/${profile_id}/start?automation_type=playwright&headless_mode=false`;
  try {
    const response = await axios.get(profileLaunch_URL, { headers: HEADERS });
    const browserURL = `http://127.0.0.1:${response.data.data.port}`;
    // if you prefer to connect with browserWSEndpoint, try to get the webSocketDebuggerUrl by following request
    // const {data : {webSocketDebuggerUrl}} = await axios.get(`${browserURL}/json/version`)
    const browser = await chromium.connectOverCDP(browserURL,{timeout:10000});
    const context = browser.contexts()[0];
    const page = await context.newPage();
    await page.goto("https://multilogin.com/");
    await page.screenshot({path: "example.png"});
    await page.close();
  } catch (error) {
    console.log("Error:", error.message);
    if (error.response) {
      console.log("Response data:", error.response.data); 
  } 
  }
};

start_browserProfile();
 
 
 
 

Python

  1. Make sure the agent is connected, as it makes profile launching possible
  2. Make sure Playwright is compatible with the current Mimic core version – check the release notes for Playwright and Mimic
  3. Run the .py file with your automation code

Script example

import hashlib
import requests
import time
from playwright.sync_api import sync_playwright

MLX_BASE = "https://api.multilogin.com"
HEADERS = {"Accept": "application/json", "Content-Type": "application/json"}

# TODO: Insert your account information in both variables below
USERNAME = ""
PASSWORD = ""
# TODO: Insert the Folder ID and the Profile ID below
FOLDER_ID = ""
PROFILE_ID = ""

def sign_in() -> str:
    payload = {
        "email": USERNAME,
        "password": hashlib.md5(PASSWORD.encode()).hexdigest(),
    }
    r = requests.post(f"{MLX_BASE}/user/signin", json=payload)
    if r.status_code != 200:
        print(f"\nError during login: {r.text}\n")
    else:
        response = r.json()["data"]
        token = response["token"]
        return token

HEADERS["Authorization"] = f"Bearer {sign_in()}"

def start_profile():
    with sync_playwright() as pw:
        resp = requests.get(
            f"https://launcher.mlx.yt:45001/api/v2/profile/f/{FOLDER_ID}/p/{PROFILE_ID}/start?automation_type=playwright&headless_mode=false",
            headers=HEADERS)
        resp_json = resp.json()
        if resp.status_code != 200:
            print(f"\nError while starting profile: {resp.text}\n")
            return
        else:
            print(f"\nProfile {PROFILE_ID} started.\n")
            browserPort = resp_json["data"]["port"]
            browserURL = f"http://127.0.0.1:{browserPort}"
            # if you prefer to connect with browserWSEndpoint, try to get the webSocketDebuggerUrl by following request
            # response = requests.get(f'{browserURL}/json/version')
            # browser_ws_endpoint = response.json()["webSocketDebuggerUrl"]
            browser = pw.chromium.connect_over_cdp(endpoint_url=browserURL)
            context = browser.contexts[0]
            page = context.new_page()
            page.goto('https://www.multilogin.com')
            time.sleep(5)
            page.screenshot(path='example.png')   
            page.close()

start_profile()
 
 
 
 
playwright automation api script script example

Was this article helpful?

Give feedback about this article

In this article

  • Before you start
  • Running the script

Multilogin community

Stay informed, share your thoughts, and engage with others!

Join us on Telegram

Read more on the topic

blogpost img

10 Best Datacenter Proxies for Web Scraping (2025 Edition)

Apr 2, 2025 5 min read
Google SERP Img

What is a Google SERP Proxy and Why Should You Care?

Apr 1, 2025 6 min read
UK Proxy Img

What Are Dedicated UK Proxies? Everything You Need to Know

Apr 1, 2025 6 min read
art-icon

Related Articles

  • Selenium automation example

ANTIDETECT PLATFORM

  • Antidetect browser
  • Mobile antidetect browser
  • Headless browser
  • Multilogin residential proxies
  • Multi-account management
  • Web automation

RESOURCES

  • Knowledge base
  • API documentation
  • Glossary
  • Blog
  • Multilogin 6 download
  • Server status
  • Release notes

PLATFORM PROXIES

  • Google proxy
  • Facebook proxy
  • Reddit proxy
  • Twitter proxy
  • Amazon proxy
  • LinkedIn proxy

GEO PROXIES

  • Japan proxy
  • UK proxy
  • USA proxy
  • China proxy
  • Canada proxy
  • India proxy

MULTI-ACCOUNT MANAGEMENT

  • Create multiple Facebook accounts
  • Create multiple LinkedIn accounts
  • Create multiple Amazon accounts
  • Create multiple eBay accounts
  • Create multiple Gmail accounts
  • Create multiple Discord accounts

COMPARISON

  • Multilogin vs. Gologin
  • Multilogin vs. Adspower
  • Multilogin vs. Dolphin Anty
  • Multilogin vs. Incognition
  • Multilogin vs. Octo Browser

GET IN TOUCH

  • Contact 24/7 support
    [email protected]
  • Contact sales
  • Affiliate program
  • Careers

© 2025 Multilogin. All rights reserved.

  • Privacy policy
  • Terms of service
  • Cookie policy
  • ANTIDETECT PLATFORM

    • Antidetect browser
    • Mobile antidetect browser
    • Headless browser
    • Multilogin residential proxies
    • Multi-account management
    • Web automation
  • RESOURCES

    • Knowledge base
    • API documentation
    • Glossary
    • Blog
    • Multilogin 6 download
    • Server status
    • Release notes
  • MULTI-ACCOUNT MANAGEMENT

    • Create multiple Facebook accounts
    • Create multiple LinkedIn accounts
    • Create multiple Amazon accounts
    • Create multiple eBay accounts
    • Create multiple Gmail accounts
    • Create multiple Discord accounts
  • COMPARISON

    • Multilogin vs. Gologin
    • Multilogin vs. Adspower
    • Multilogin vs. Dolphin Anty
    • Multilogin vs. Incognition
    • Multilogin vs. Octo Browser
  • PLATFORM PROXIES

    • Google proxy
    • Facebook proxy
    • Reddit proxy
    • Twitter proxy
    • Amazon proxy
    • LinkedIn proxy
  • GEO PROXIES

    • Japan proxy
    • UK proxy
    • USA proxy
    • China proxy
    • Canada proxy
    • India proxy
  • GET IN TOUCH

    • 24/7 support: [email protected]
    • Contact sales
    • Affiliate program
    • Careers
  • Privacy policy
  • Terms of service
  • Cookie policy

© 2025 Multilogin. All rights reserved.

Expand