Floppydata Floppydata

سیشنز مفت ہیں — ادائیگی صرف ٹریفک کی کریں

Playwright کلاؤڈ میں چلائیں

اپنے Playwright اسکرپٹس اور ٹیسٹس کو Floppydata کلاؤڈ میں چلنے والے Chromium کی طرف موڑیں۔ ایک API ریکویسٹ براؤزر شروع کرتی ہے، connectOverCDP() اس سے جڑتا ہے، اور آپ کا باقی کوڈ ویسا ہی رہتا ہے۔

  • connectOverCDP() سے جڑیں — کوئی براؤزر انسٹال کرنے کی ضرورت نہیں
  • Node.js، Python اور Playwright Test
  • Floppydata پراکسیز کے ساتھ مفت — آپ صرف ٹریفک کی ادائیگی کرتے ہیں

Playwright کو کلاؤڈ میں کیسے چلائیں

ایک API ریکویسٹ سے سیشن بنائیں، پھر اس کا connectUrl Playwright کو دیں۔ یہ مثال ہماری دستاویزات میں Cloud Browser گائیڈ کے مطابق ہے۔

تین مراحل

  1. 1 اپنے Floppydata اکاؤنٹ میں Client API key بنائیں۔
  2. 2 POST /v2/browser/sessions بھیجیں۔ جواب میں connectUrl ہوتا ہے۔
  3. 3 اسے connectOverCDP() کو دیں اور معمول کے مطابق کام کریں۔ براؤزر بند کرنے سے سیشن رک جاتا ہے۔
run.mjs
import { chromium } from 'playwright';const res = await fetch('https://api.floppydata.net/v2/browser/sessions', {    method: 'POST',    headers: {        'X-Api-Key': process.env.FLOPPY_API_KEY,        'Content-Type': 'application/json',    },    body: JSON.stringify({        proxy: { type: 'residential', location: { countryCode: 'US' } },    }),});const { connectUrl } = await res.json();const browser = await chromium.connectOverCDP(connectUrl);const page = await browser.contexts()[0].newPage();await page.goto('https://example.com/');console.log(await page.title());await browser.close(); // stops the session

سیشن بنائیں، جڑیں، صفحہ کھولیں۔

لوکل Playwright سے کلاؤڈ Playwright تک

لوکل طور پر ہر Playwright worker اپنا Chromium شروع کرتا ہے۔ جیسے جیسے ٹیسٹ سوئٹ یا اسکریپر بڑھتا ہے، یہ براؤزر CPU اور میموری کے لیے مقابلہ کرتے ہیں، اور ہر CI رنر کو پہلے انہیں ڈاؤن لوڈ کرنا پڑتا ہے۔

Floppydata Cloud Browser کے ساتھ Chromium ریموٹ طور پر چلتا ہے۔ آپ کا کوڈ Chrome DevTools Protocol کے ذریعے جڑتا ہے، اس لیے آپ کی طرف playwright-core کافی ہے، اور ہر رن کو اپنا براؤزر سیشن ملتا ہے۔

لوکل Playwright پہلے
const browser =
    await chromium.launch();
Floppydata Cloud Browser بعد میں
const browser =
    await chromium.connectOverCDP(connectUrl);

اس لائن کے بعد سب کچھ ویسا ہی رہتا ہے۔ connectUrl اوپر والی سیشن بنانے کی ریکویسٹ سے آتا ہے۔

بلٹ اِن پراکسیز کے ساتھ Playwright

ہر سیشن Floppydata پراکسیز سے گزرتا ہے، اس لیے Playwright میں کوئی پراکسی سرور سیٹ اپ کرنے کی ضرورت نہیں۔ IP کی قسم، ملک اور روٹیشن منتخب کریں، اور نتیجہ سیشن بنانے کی ریکویسٹ کی باڈی کے طور پر بھیجیں۔

اپنا Playwright کلاؤڈ سیشن ترتیب دیں

پراکسی کی قسم
روٹیشن
POST /v2/browser/sessions
{
  "proxy": {
    "type": "residential",
    "location": {
      "countryCode": "US"
    },
    "rotation": {
      "mode": "sticky"
    }
  }
}

اسی ریکویسٹ میں شہر، ریاست یا ASN بھی منتخب کیا جا سکتا ہے۔ رہائشی IPs 148 ممالک میں، موبائل 150 میں اور ڈیٹا سینٹر 71 میں دستیاب ہیں۔

لوکل یا کلاؤڈ Playwright

لوکل Playwright بمقابلہ Floppydata Cloud Browser پر Playwright
لوکل Playwright Cloud Browser پر Playwright
Chromium ہر مشین پر انسٹال اور اپ ڈیٹ ہوتا ہے Floppydata کلاؤڈ میں چلتا ہے
CI میں براؤزر ہر رنر پر ڈاؤن لوڈ ہوتے ہیں ضرورت نہیں: playwright-core کافی ہے
پراکسی ہر لانچ کے لیے آپ خود سیٹ اپ کرتے ہیں بلٹ اِن: رہائشی، موبائل یا ڈیٹا سینٹر
متوازی براؤزر آپ کے CPU اور RAM تک محدود فی اکاؤنٹ 100 سیشنز تک
براؤزر کی لاگت آپ کے سرورز کا وقت مفت: صرف پراکسی ٹریفک کا بل بنتا ہے
کنکشن Playwright پروٹوکول، ہر براؤزر انجن CDP کے ذریعے connectOverCDP()، صرف Chromium

connectOverCDP() وہ سب سنبھالتا ہے جو زیادہ تر اسکرپٹس کرتے ہیں (نیویگیشن، لوکیٹرز، کلکس، فارمز، انتظار اور JavaScript)، لیکن یہ مکمل Playwright پروٹوکول نہیں۔ کوئی بھی غیر معمولی چیز اپنے اسکرپٹس پر جانچیں۔

ہر سیشن کو اسکیل اور ترتیب دیں

ہر سیٹنگ سیشن بنانے کی ریکویسٹ کا ایک اختیاری فیلڈ ہے: صرف وہی بھیجیں جن کی ضرورت ہو، یا کچھ نہ بھیجیں اور رہائشی پراکسی، ہم آہنگ فنگر پرنٹ اور 10 منٹ کا ٹائم آؤٹ حاصل کریں۔

Playwright رنز کو لائیو براؤزر میں ڈیبگ کریں

جب کوئی اسکرپٹ کسی ایسی اسکرین پر رک جائے جس کی اسے توقع نہیں تھی، جیسے رضامندی کا بینر یا لاگ اِن کا اضافی مرحلہ، تو اپنے براؤزر میں سیشن کا لائیو ویو کھولیں اور دیکھیں کہ صفحہ بالکل کیا دکھا رہا ہے۔

Playwright اور لائیو ویو ایک ہی سیشن کو باری باری استعمال کرتے ہیں، اس لیے رن وہیں سے جاری رہتا ہے جہاں رکا تھا، نئے سرے سے شروع نہیں ہوتا۔ UI موڈ کے بارے میں مزید

  1. 1 سیشن keepAlive: true کے ساتھ بنائیں، تاکہ ڈسکنیکٹ کرنے سے وہ رک نہ جائے۔
  2. 2 جب کوئی رن کسی غیر متوقع اسکرین پر رک جائے تو Playwright کو ڈسکنیکٹ کریں۔
  3. 3 لائیو ویو طلب کریں اور کھولیں: صفحہ دیکھیں اور اسے ہاتھ سے سنبھالیں۔
  4. 4 سیشن دوبارہ حاصل کریں اور نئے connectUrl سے Playwright کو دوبارہ جوڑیں۔

Floppydata پراکسی صارفین کے لیے مفت

Cloud Browser میں نہ سبسکرپشن ہے، نہ رن ٹائم یا فی سیشن فیس۔ ہر سیشن Floppydata پراکسیز سے گزرتا ہے، اور آپ صرف اس پراکسی ٹریفک کی ادائیگی کرتے ہیں جو وہ استعمال کرتا ہے: $1.00 فی GB سے، رہائشی، موبائل اور ڈیٹا سینٹر کے لیے ایک ہی ریٹ۔

اگر آپ پہلے سے Floppydata پراکسیز خریدتے ہیں تو Cloud Browser شامل ہے: وہی بیلنس، وہی API کی۔ ایک اکاؤنٹ پر ایک ساتھ 100 سیشنز تک چلائیں، یا حد بڑھانے کے لیے سپورٹ سے کہیں۔

کلاؤڈ میں Playwright کنکشن کی عام غلطیاں

جب کچھ غلط ہو تو API یا کنکشن کیا بتاتا ہے، اور اس کے بارے میں کیا کرنا ہے۔

Cloud Browser کنکشن کی غلطیاں اور انہیں ٹھیک کرنے کا طریقہ
غلطی اس کا مطلب کیا کریں
unauthorized دستخط شدہ connectUrl کی میعاد ختم ہو گئی ہے یا وہ غلط ہے۔ سیشن دوبارہ حاصل کریں اور اس کے نئے connectUrl سے جڑیں۔
connection_in_use کوئی دوسرا کلائنٹ یا لائیو ویو پہلے سے جڑا ہوا ہے: ہر سیشن پر صرف ایک کنکشن کی اجازت ہے۔ دوسرا کنکشن بند کریں، پھر دوبارہ کوشش کریں۔
session_not_active سیشن رک گیا، اس کا وقت ختم ہو گیا یا ناکام ہو گیا۔ نیا سیشن بنائیں؛ لمبے کاموں کے لیے runtime.timeoutSeconds بڑھائیں۔
کنکشن بند ہو جاتا ہے ایک ہی پیغام تقریباً 1 MiB سے بڑا ہو گیا، جیسے پورے صفحے کا اسکرین شاٹ یا اسکرین کاسٹ کا فریم۔ ویو پورٹ یا کسی ایلیمنٹ کا اسکرین شاٹ لیں، یا مطلوبہ حصہ کراپ کریں۔
upstream_error براؤزر سروس کا ایک عمل لمحے بھر کے لیے ناکام ہو گیا۔ دوبارہ کوشش کریں: سیشن روکنے کا عمل محفوظ طریقے سے دہرایا جا سکتا ہے۔

اکثر پوچھے جانے والے سوالات

کون سے براؤزر سپورٹ ہوتے ہیں؟
Chromium۔ سیشنز Chrome DevTools Protocol کے ذریعے جڑتے ہیں، جسے Playwright صرف Chromium کے لیے سپورٹ کرتا ہے، اس لیے Firefox اور WebKit پروجیکٹس انہیں استعمال نہیں کر سکتے۔ Puppeteer بھی انہی سیشنز سے جڑ جاتا ہے۔
connect() اور connectOverCDP() میں کیا فرق ہے؟
connect() Playwright کا اپنا پروٹوکول استعمال کرتا ہے اور دوسری طرف Playwright سرور چاہتا ہے۔ connectOverCDP() Chrome DevTools Protocol کے ذریعے Chromium سے جڑتا ہے، اور Floppydata سیشن یہی فراہم کرتا ہے، اس لیے connectOverCDP() (Python میں connect_over_cdp()) استعمال کریں۔ یہ نیویگیشن، لوکیٹرز، کلکس، فارمز، انتظار اور JavaScript کا احاطہ کرتا ہے، لیکن یہ مکمل Playwright پروٹوکول نہیں، اس لیے کوئی بھی غیر معمولی چیز اپنے اسکرپٹس پر جانچیں۔
کیا میں کلاؤڈ سیشن میں اسکرین شاٹ لے سکتا ہوں؟
جی ہاں، ایک حد کے ساتھ: کنکشن پر ایک پیغام تقریباً 1 MiB تک ہو سکتا ہے، اس لیے پورے صفحے کا بہت بڑا اسکرین شاٹ یا اسکرین کاسٹ کا فریم اسے بند کر سکتا ہے۔ ویو پورٹ یا کسی ایلیمنٹ کا اسکرین شاٹ لیں، یا مطلوبہ حصہ کراپ کریں۔
میں کتنے Playwright سیشنز متوازی چلا سکتا ہوں؟
ایک اکاؤنٹ پر ایک ساتھ 100 تک۔ اگر آپ کے سوئٹ کو اس سے زیادہ چاہییں تو حد بڑھانے کے لیے سپورٹ سے رابطہ کریں۔
ایک سیشن کتنی دیر چل سکتا ہے؟
60 سیکنڈ سے 6 گھنٹے تک؛ ڈیفالٹ 10 منٹ ہے۔ ڈیفالٹ طور پر Playwright کنکشن بند کرنے سے سیشن بھی رک جاتا ہے۔ keepAlive: true کے ساتھ آپ سیشن ختم ہونے تک ڈسکنیکٹ اور دوبارہ کنیکٹ کر سکتے ہیں۔
کیا میں رنز کے درمیان کوکیز اور لاگ اِن محفوظ رکھ سکتا ہوں؟
جی ہاں۔ ہر سیشن ایک settings ID واپس کرتا ہے جو اگلی بار وہی براؤزر شناخت اور حالت بحال کرتی ہے؛ ایک اکاؤنٹ 20 تک محفوظ سیٹنگز رکھ سکتا ہے۔ آپ لانچ سے پہلے 100 تک کوکیز بھی امپورٹ کر سکتے ہیں۔

دیگر کلاؤڈ براؤزر حل دیکھیں