• Website
  • Server status
  • API documentation
  • Blog
Telegram Icon Community
EN
English
Português
Русский
中文 (中国)
Tiếng Việt
Log in Try for €1.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.

search icon

Try a different keyword or check for typos. If you still need help, contact support.

  • Getting started with Multilogin automation
  • Basic automation with CLI
  • Low-code automation with Postman
  • Script runner & predefined scripts
  • Puppeteer, Selenium, and Playwright
  • Custom Python scripts
  • Quick solutions with Developer Tools
  • External automation tools
  • Home
  • breadcrumb separator bar
  • Multilogin (latest)
  • breadcrumb separator bar
  • Efficient task automation with API
  • breadcrumb separator bar
  • Puppeteer, Selenium, and Playwright
  • breadcrumb separator bar
  • Playwright automation example

Playwright automation example

Written by Villa W ( Updated on March 5th, 2026 )

Updated on March 5th, 2026

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 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 account email
    2. password: your Multilogin 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 account email
    2. PASSWORD: your Multilogin 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. Launch the app, as it makes profile launching possible
  1. Make sure Playwright is compatible with the current Mimic core version – check the release notes for Playwright and Mimic
  2. 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. Launch the app, as it makes profile launching possible
  1. Make sure Playwright is compatible with the current Mimic core version – check the release notes for Playwright and Mimic
  2. 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!

Telegram Icon Join us on Telegram

Read more on the topic

Blog Post 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
Related Article Title Icon

Related articles

  • Getting started with automation scripting
  • Selenium automation example
  • Puppeteer automation example
  • How to choose the best automation framework

Mobile

  • Cloud phone
  • Virtual phone
  • Remote phone
  • Phone farming
  • Cloud cell phone
  • Cloud Android emulation
  • AI Quick Action Automation

Multi-accounting

  • Multiple Instagram accounts
  • Multiple Tiktok accounts
  • Multiple Reddit accounts
  • Multiple Telegram accounts
  • Multiple Facebook accounts
  • Multiple Youtube accounts
  • Multiple LinkedIn accounts

COMPARISON

  • Multilogin vs. MoreLogin
  • Multilogin vs. FlashID
  • Multilogin vs. DuoPlus
  • Multilogin vs. VMOS cloud
  • Multilogin vs. Octo Browser
  • Multilogin vs. AdsPower
  • Multilogin vs. GoLogin

Platform proxies

  • Mobile proxy
  • Reddit proxy
  • Instagram proxy
  • TikTok proxy
  • Facebook proxy
  • Youtube proxy
  • LinkedIn proxy

USECASES

  • Cloud phones for Tiktok
  • Cloud phones for Instagram
  • Cloud phones for Reddit
  • Cloud phones for Facebook
  • Cloud phones for Youtube

RESOURCES

  • Knowledge base
  • API documentation
  • Glossary
  • Academy
  • Blog
  • Server status
  • Release notes

FREE TOOLS

  • YouTube views to money calculator
  • Instagram money calculator
  • Online URL to text converter
  • Google local SERP checker
  • Random address generator

GET IN TOUCH

  • Contact 24/7 support
    [email protected]
  • Referral program
  • Affiliate program
  • Pricing page
  • Careers
GDPR Compliant

© 2026 Multilogin. All rights reserved.

  • Privacy policy
  • Terms of service
  • Cookie policy
Multilogin watermark
  • MOBILE

    • Cloud phone
    • Virtual phone
    • Remote phone
    • Phone farming
    • Cloud cell phone
    • Cloud Android emulation
    • AI Quick Action Automation
  • MULTI-ACCOUNTING

    • Multiple Instagram accounts
    • Multiple Tiktok accounts
    • Multiple Reddit accounts
    • Multiple Telegram accounts
    • Multiple Facebook accounts
    • Multiple Youtube accounts
    • Multiple LinkedIn accounts
  • COMPARISON

    • Multilogin vs. MoreLogin
    • Multilogin vs. FlashID
    • Multilogin vs. DuoPlus
    • Multilogin vs. VMOS cloud
    • Multilogin vs. Octo Browser
    • Multilogin vs. AdsPower
    • Multilogin vs. GoLogin
  • PLATFORM PROXIES

    • Mobile proxy
    • Reddit proxy
    • Instagram proxy
    • TikTok proxy
    • Facebook proxy
    • Youtube proxy
    • LinkedIn proxy
  • USECASES

    • Cloud phones for Tiktok
    • Cloud phones for Instagram
    • Cloud phones for Reddit
    • Cloud phones for Facebook
    • Cloud phones for Youtube
  • RESOURCES

    • Knowledge base
    • API documentation
    • Glossary
    • Academy
    • Blog
    • Server status
    • Release notes
  • FREE TOOLS

    • YouTube views to money calculator
    • Instagram money calculator
    • Online URL to text converter
    • Google local SERP checker
    • Random address generator
  • GET IN TOUCH

    • Contact 24/7 support
      [email protected]
    • Referral program
    • Affiliate program
    • Pricing page
    • Careers
GDPR Compliant
  • Privacy policy
  • Terms of service
  • Cookie policy

© 2026 Multilogin. All rights reserved.

Expand