Playwright MCP
आधिकारिकब्राउज़र ऑटोमेशन, पेज निरीक्षण, स्क्रीनशॉट और क्लॉड, कर्सर तथा अन्य AI एजेंटों से वेब इंटरैक्शन के लिए आधिकारिक Playwright MCP सर्वर।
Playwright MCP के साथ आप क्या कर सकते हैं?
- एक्सेसिबिलिटी-ट्री ब्राउज़िंग — अपने AI से पेजों को नेविगेट करने और संरचित एक्सेसिबिलिटी स्नैपशॉट पढ़ने के लिए कहें, किसी विज़न मॉडल की आवश्यकता नहीं।
- स्थायी ब्राउज़र सत्र —
--user-data-dirया--storage-stateके माध्यम से कई वार्तालापों में लॉगिन स्थिति बनाए रखें, प्रमाणित वर्कफ़्लो के लिए। - मल्टी-ब्राउज़र स्वचालन — क्रॉस-इंजन परीक्षण के लिए
--browserफ़्लैग के साथ Chromium, Firefox, WebKit, या Edge चलाएँ। - डिवाइस अनुकरण — रिस्पॉन्सिव टेस्टिंग के लिए
--deviceया सामान्य--mobileमोड के माध्यम से "iPhone 15" जैसे मोबाइल डिवाइसों का अनुकरण करें। - कोड जनरेशन —
--codegenविकल्प का उपयोग करके TypeScript, Python, Java, या C# में Playwright टेस्ट स्क्रिप्ट उत्पन्न करें। - पृथक टेस्ट संदर्भ — प्रत्येक ब्राउज़र बंद होने के बाद सभी स्थिति को त्यागने के लिए
--isolatedफ़्लैग के साथ सत्र चलाएँ।
दस्तावेज़
Playwright MCP
एक मॉडल कॉन्टेक्स्ट प्रोटोकॉल (MCP) सर्वर जो Playwright का उपयोग करके ब्राउज़र स्वचालन क्षमताएँ प्रदान करता है। यह सर्वर LLM को संरचित एक्सेसिबिलिटी स्नैपशॉट के माध्यम से वेब पेजों के साथ इंटरैक्ट करने में सक्षम बनाता है, जिससे स्क्रीनशॉट या दृश्य-ट्यून किए गए मॉडल की आवश्यकता समाप्त हो जाती है।
Playwright MCP बनाम Playwright CLI
यह पैकेज Playwright में MCP इंटरफ़ेस प्रदान करता है। यदि आप कोडिंग एजेंट का उपयोग कर रहे हैं, तो आपको CLI+SKILLS का उपयोग करने से लाभ हो सकता है।
-
CLI: आधुनिक कोडिंग एजेंट तेजी से MCP के बजाय SKILLs के रूप में प्रदर्शित CLI-आधारित वर्कफ़्लो को पसंद कर रहे हैं क्योंकि CLI इनवोकेशन अधिक टोकन-कुशल हैं: वे मॉडल कॉन्टेक्स्ट में बड़े टूल स्कीमा और विस्तृत एक्सेसिबिलिटी ट्री लोड करने से बचते हैं, जिससे एजेंट संक्षिप्त, उद्देश्य-निर्मित कमांड के माध्यम से कार्य कर सकते हैं। यह CLI + SKILLs को उच्च-थ्रूपुट कोडिंग एजेंटों के लिए बेहतर बनाता है जिन्हें सीमित कॉन्टेक्स्ट विंडो के भीतर ब्राउज़र स्वचालन को बड़े कोडबेस, परीक्षणों और तर्क के साथ संतुलित करना होता है।
Playwright CLI with SKILLS के बारे में अधिक जानें। -
MCP: MCP विशेष एजेंटिक लूप्स के लिए प्रासंगिक बना हुआ है जो स्थायी स्थिति, समृद्ध आत्मनिरीक्षण, और पृष्ठ संरचना पर पुनरावृत्त तर्क से लाभान्वित होते हैं, जैसे कि अन्वेषणात्मक स्वचालन, स्व-उपचार परीक्षण, या लंबे समय तक चलने वाले स्वायत्त वर्कफ़्लो जहाँ निरंतर ब्राउज़र कॉन्टेक्स्ट बनाए रखना टोकन लागत चिंताओं से अधिक महत्वपूर्ण है।
मुख्य विशेषताएँ
- तेज़ और हल्का। Playwright की एक्सेसिबिलिटी ट्री का उपयोग करता है, पिक्सेल-आधारित इनपुट नहीं।
- LLM-अनुकूल। कोई विज़न मॉडल आवश्यक नहीं, पूरी तरह से संरचित डेटा पर कार्य करता है।
- निर्धारक टूल अनुप्रयोग। स्क्रीनशॉट-आधारित दृष्टिकोणों में सामान्य अस्पष्टता से बचता है।
आवश्यकताएँ
- Node.js 18 या नया
- VS Code, Cursor, Windsurf, Claude Desktop, Goose, Grok, Junie या कोई अन्य MCP क्लाइंट
आरंभ करना
सबसे पहले, अपने क्लाइंट के साथ Playwright MCP सर्वर स्थापित करें।
मानक कॉन्फ़िगरेशन अधिकांश टूल्स में काम करता है:
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": [
"@playwright/mcp@latest"
]
}
}
}
Amp
Amp VS Code एक्सटेंशन सेटिंग्स स्क्रीन के माध्यम से या अपनी settings.json फ़ाइल को अपडेट करके जोड़ें:
"amp.mcpServers": {
"playwright": {
"command": "npx",
"args": [
"@playwright/mcp@latest"
]
}
}
Amp CLI सेटअप:
नीचे दिए गए amp mcp add कमांड के माध्यम से जोड़ें
amp mcp add playwright -- npx @playwright/mcp@latest
Antigravity
Antigravity सेटिंग्स के माध्यम से या अपनी कॉन्फ़िगरेशन फ़ाइल को अपडेट करके जोड़ें:
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": [
"@playwright/mcp@latest"
]
}
}
}
Claude Code
Playwright MCP सर्वर जोड़ने के लिए Claude Code CLI का उपयोग करें:
claude mcp add playwright npx @playwright/mcp@latest
Claude Desktop
MCP इंस्टॉल गाइड का पालन करें, ऊपर दिए गए मानक कॉन्फ़िगरेशन का उपयोग करें।
Cline
Configuring MCP Servers अनुभाग में दिए गए निर्देशों का पालन करें
उदाहरण: स्थानीय सेटअप
अपनी cline_mcp_settings.json फ़ाइल में निम्नलिखित जोड़ें:
{
"mcpServers": {
"playwright": {
"type": "stdio",
"command": "npx",
"timeout": 30,
"args": [
"-y",
"@playwright/mcp@latest"
],
"disabled": false
}
}
}
Codex
Playwright MCP सर्वर जोड़ने के लिए Codex CLI का उपयोग करें:
codex mcp add playwright npx "@playwright/mcp@latest"
वैकल्पिक रूप से, कॉन्फ़िगरेशन फ़ाइल ~/.codex/config.toml बनाएं या संपादित करें और जोड़ें:
[mcp_servers.playwright]
command = "npx"
args = ["@playwright/mcp@latest"]
अधिक जानकारी के लिए, Codex MCP दस्तावेज़ीकरण देखें।
Copilot
Playwright MCP सर्वर को इंटरैक्टिव रूप से जोड़ने के लिए Copilot CLI का उपयोग करें:
/mcp add
वैकल्पिक रूप से, कॉन्फ़िगरेशन फ़ाइल ~/.copilot/mcp-config.json बनाएं या संपादित करें और जोड़ें:
{
"mcpServers": {
"playwright": {
"type": "local",
"command": "npx",
"tools": [
"*"
],
"args": [
"@playwright/mcp@latest"
]
}
}
}
अधिक जानकारी के लिए, Copilot CLI दस्तावेज़ीकरण देखें।
Cursor
इंस्टॉल करने के लिए बटन पर क्लिक करें:
या मैन्युअल रूप से इंस्टॉल करें:
Cursor Settings -> MCP -> Add new MCP Server पर जाएं। अपनी पसंद के अनुसार नाम दें, command प्रकार का उपयोग करें जिसमें कमांड npx @playwright/mcp@latest हो। आप Edit पर क्लिक करके कॉन्फ़िगरेशन सत्यापित कर सकते हैं या तर्क जैसे कमांड जोड़ सकते हैं।
Factory
Playwright MCP सर्वर जोड़ने के लिए Factory CLI का उपयोग करें:
droid mcp add playwright "npx @playwright/mcp@latest"
वैकल्पिक रूप से, MCP सर्वर प्रबंधित करने के लिए इंटरैक्टिव UI खोलने हेतु Factory droid के भीतर /mcp टाइप करें।
अधिक जानकारी के लिए, Factory MCP दस्तावेज़ीकरण देखें।
Gemini CLI
MCP इंस्टॉल गाइड का पालन करें, ऊपर दिए गए मानक कॉन्फ़िगरेशन का उपयोग करें।
Goose
इंस्टॉल करने के लिए बटन पर क्लिक करें:
या मैन्युअल रूप से इंस्टॉल करें:
Advanced settings -> Extensions -> Add custom extension पर जाएं। अपनी पसंद के अनुसार नाम दें, प्रकार STDIO का उपयोग करें, और command को npx @playwright/mcp पर सेट करें। "Add Extension" पर क्लिक करें।
Grok
Playwright MCP सर्वर जोड़ने के लिए Grok CLI का उपयोग करें:
grok mcp add playwright -- npx @playwright/mcp@latest
वैकल्पिक रूप से, कॉन्फ़िगरेशन फ़ाइल ~/.grok/config.toml बनाएं या संपादित करें और जोड़ें:
[mcp_servers.playwright]
command = "npx"
args = ["@playwright/mcp@latest"]
अधिक जानकारी के लिए, Grok MCP दस्तावेज़ीकरण देखें।
Junie
Junie CLI में Playwright MCP सर्वर जोड़ने के लिए:
/mcpटाइप करें- नया MCP सर्वर जोड़ने के लिए
Ctrl+Aदबाएं - सूची से Playwright चुनें
वैकल्पिक रूप से, .junie/mcp/mcp.json में जोड़ें:
{
"mcpServers": {
"Playwright": {
"command": "npx",
"args": [
"-y",
"@playwright/mcp@latest"
]
}
}
}
अधिक जानकारी के लिए, Junie MCP कॉन्फ़िगरेशन दस्तावेज़ीकरण देखें।
Kiro
MCP सर्वर दस्तावेज़ीकरण का पालन करें। उदाहरण के लिए .kiro/settings/mcp.json में:
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": [
"@playwright/mcp@latest"
]
}
}
}
LM Studio
इंस्टॉल करने के लिए बटन पर क्लिक करें:
या मैन्युअल रूप से इंस्टॉल करें:
दाएं साइडबार में Program पर जाएं -> Install -> Edit mcp.json। ऊपर दिए गए मानक कॉन्फ़िगरेशन का उपयोग करें।
opencode
MCP सर्वर दस्तावेज़ीकरण का पालन करें। उदाहरण के लिए ~/.config/opencode/opencode.json में:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"playwright": {
"type": "local",
"command": [
"npx",
"@playwright/mcp@latest"
],
"enabled": true
}
}
}
Qodo Gen
VSCode या IntelliJ में Qodo Gen चैट पैनल खोलें → Connect more tools → + Add new MCP → ऊपर दिए गए मानक कॉन्फ़िगरेशन को पेस्ट करें।
Save पर क्लिक करें।
VS Code
इंस्टॉल करने के लिए बटन पर क्लिक करें:
या मैन्युअल रूप से इंस्टॉल करें:
MCP इंस्टॉल गाइड का पालन करें, ऊपर दिए गए मानक कॉन्फ़िगरेशन का उपयोग करें। आप VS Code CLI का उपयोग करके भी Playwright MCP सर्वर स्थापित कर सकते हैं:
# For VS Code
code --add-mcp '{"name":"playwright","command":"npx","args":["@playwright/mcp@latest"]}'
स्थापना के बाद, Playwright MCP सर्वर VS Code में आपके GitHub Copilot एजेंट के साथ उपयोग के लिए उपलब्ध होगा।
Warp
MCP सर्वर जोड़ने के लिए Settings -> AI -> Manage MCP Servers -> + Add पर जाएं। ऊपर दिए गए मानक कॉन्फ़िगरेशन का उपयोग करें।
वैकल्पिक रूप से, Warp प्रॉम्प्ट में स्लैश कमांड /add-mcp का उपयोग करें और ऊपर दिए गए मानक कॉन्फ़िगरेशन को पेस्ट करें:
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": [
"@playwright/mcp@latest"
]
}
}
}
Windsurf
Windsurf MCP दस्तावेज़ीकरण का पालन करें। ऊपर दिए गए मानक कॉन्फ़िगरेशन का उपयोग करें।
कॉन्फ़िगरेशन
Playwright MCP सर्वर निम्नलिखित तर्कों का समर्थन करता है। उन्हें ऊपर दिए गए JSON कॉन्फ़िगरेशन में, "args" सूची के भाग के रूप में प्रदान किया जा सकता है:
| विकल्प | विवरण |
|---|---|
| --allowed-hosts <hosts...> | होस्टों की अल्पविराम-पृथक सूची जिनसे यह सर्वर सेवा दे सकता है। डिफ़ॉल्ट रूप से वह होस्ट जिससे सर्वर बंधा है। होस्ट जाँच अक्षम करने के लिए '*' पास करें। env PLAYWRIGHT_MCP_ALLOWED_HOSTS |
| --allowed-origins | ब्राउज़र को अनुरोध करने की अनुमति देने के लिए TRUSTED मूलों की अर्धविराम-पृथक सूची। डिफ़ॉल्ट सभी को अनुमति देना है। महत्वपूर्ण: सुरक्षा सीमा के रूप में कार्य नहीं करता और रीडायरेक्ट को प्रभावित नहीं करता। env PLAYWRIGHT_MCP_ALLOWED_ORIGINS |
| --allow-unrestricted-file-access | कार्यक्षेत्र रूट के बाहर फ़ाइलों तक पहुँच की अनुमति दें। साथ ही file:// URL तक अप्रतिबंधित पहुँच की अनुमति देता है। डिफ़ॉल्ट रूप से फ़ाइल सिस्टम तक पहुँच केवल कार्यक्षेत्र रूट निर्देशिकाओं (या यदि कोई रूट कॉन्फ़िगर नहीं है तो cwd) तक सीमित है, और file:// URL पर नेविगेशन अवरुद्ध है। env PLAYWRIGHT_MCP_ALLOW_UNRESTRICTED_FILE_ACCESS |
| --blocked-origins | उन मूलों की अर्धविराम-पृथक सूची जिनसे ब्राउज़र को अनुरोध करने से रोका जाए। ब्लॉकलिस्ट का मूल्यांकन अनुमतिसूची से पहले किया जाता है। यदि अनुमतिसूची के बिना उपयोग किया जाता है, तो ब्लॉकलिस्ट से मेल न खाने वाले अनुरोधों को अभी भी अनुमति दी जाती है। महत्वपूर्ण: सुरक्षा सीमा के रूप में कार्य नहीं करता और रीडायरेक्ट को प्रभावित नहीं करता। env PLAYWRIGHT_MCP_BLOCKED_ORIGINS |
| --block-service-workers | सर्विस वर्कर को ब्लॉक करें env PLAYWRIGHT_MCP_BLOCK_SERVICE_WORKERS |
| --browser | उपयोग करने के लिए ब्राउज़र या chrome चैनल, संभावित मान: chrome, firefox, webkit, msedge। env PLAYWRIGHT_MCP_BROWSER |
| --caps | सक्षम करने के लिए अतिरिक्त क्षमताओं की अल्पविराम-पृथक सूची, संभावित मान: vision, pdf, devtools। env PLAYWRIGHT_MCP_CAPS |
| --cdp-endpoint | कनेक्ट करने के लिए CDP एंडपॉइंट। env PLAYWRIGHT_MCP_CDP_ENDPOINT |
| --cdp-header <headers...> | कनेक्ट अनुरोध के साथ भेजने के लिए CDP हेडर, कई निर्दिष्ट किए जा सकते हैं। env PLAYWRIGHT_MCP_CDP_HEADERS |
| --cdp-timeout | CDP एंडपॉइंट से कनेक्ट करने के लिए मिलीसेकंड में टाइमआउट, डिफ़ॉल्ट 30000ms है env PLAYWRIGHT_MCP_CDP_TIMEOUT |
| --codegen | कोड जनरेशन के लिए उपयोग करने की भाषा निर्दिष्ट करें, संभावित मान: "typescript", "python", "java", "csharp", "none"। डिफ़ॉल्ट "typescript" है। env PLAYWRIGHT_MCP_CODEGEN |
| --config | कॉन्फ़िगरेशन फ़ाइल का पथ। env PLAYWRIGHT_MCP_CONFIG |
| --console-level | लौटाने के लिए कंसोल संदेशों का स्तर: "error", "warning", "info", "debug"। प्रत्येक स्तर में अधिक गंभीर स्तरों के संदेश शामिल होते हैं। env PLAYWRIGHT_MCP_CONSOLE_LEVEL |
| --device | अनुकरण करने के लिए डिवाइस, उदाहरण के लिए: "iPhone 15" env PLAYWRIGHT_MCP_DEVICE |
| --mobile | एक सामान्य मोबाइल डिवाइस का अनुकरण करें (Chromium के लिए Pixel 10, WebKit के लिए iPhone 17)। मोबाइल पेज आमतौर पर हल्के होते हैं, जिससे टोकन बचते हैं। --device के साथ संयोजित नहीं किया जा सकता। env PLAYWRIGHT_MCP_MOBILE |
| --executable-path | ब्राउज़र निष्पादन योग्य का पथ। env PLAYWRIGHT_MCP_EXECUTABLE_PATH |
| --extension | चल रहे ब्राउज़र इंस्टेंस से कनेक्ट करें (केवल Edge/Chrome)। "Playwright Extension" स्थापित होना आवश्यक है। env PLAYWRIGHT_MCP_EXTENSION |
| --endpoint | कनेक्ट करने के लिए बाउंड ब्राउज़र एंडपॉइंट। env PLAYWRIGHT_MCP_ENDPOINT |
| --grant-permissions <permissions...> | ब्राउज़र संदर्भ को दी जाने वाली अनुमतियों की सूची, उदाहरण के लिए "geolocation", "clipboard-read", "clipboard-write"। env PLAYWRIGHT_MCP_GRANT_PERMISSIONS |
| --headless | ब्राउज़र को हेडलेस मोड में चलाएं, डिफ़ॉल्ट रूप से हेडेड env PLAYWRIGHT_MCP_HEADLESS |
| --host | सर्वर को बाँधने के लिए होस्ट। डिफ़ॉल्ट localhost है। सभी इंटरफ़ेस से बाँधने के लिए 0.0.0.0 उपयोग करें। env PLAYWRIGHT_MCP_HOST |
| --ignore-https-errors | https त्रुटियों को अनदेखा करें env PLAYWRIGHT_MCP_IGNORE_HTTPS_ERRORS |
| --init-page <path...> | Playwright पेज ऑब्जेक्ट पर मूल्यांकन करने के लिए TypeScript फ़ाइल का पथ env PLAYWRIGHT_MCP_INIT_PAGE |
| --init-script <path...> | प्रारंभिक स्क्रिप्ट के रूप में जोड़ने के लिए JavaScript फ़ाइल का पथ। स्क्रिप्ट का मूल्यांकन हर पेज पर पेज की किसी भी स्क्रिप्ट से पहले किया जाएगा। कई बार निर्दिष्ट किया जा सकता है। env PLAYWRIGHT_MCP_INIT_SCRIPT |
| --isolated | ब्राउज़र प्रोफ़ाइल को मेमोरी में रखें, इसे डिस्क पर सहेजें नहीं। env PLAYWRIGHT_MCP_ISOLATED |
| --image-responses | क्लाइंट को छवि प्रतिक्रियाएँ भेजनी हैं या नहीं। "allow" या "omit" हो सकता है, डिफ़ॉल्ट "allow" है। env PLAYWRIGHT_MCP_IMAGE_RESPONSES |
| --no-sandbox | सभी प्रक्रिया प्रकारों के लिए सैंडबॉक्स अक्षम करें जो सामान्य रूप से सैंडबॉक्स किए जाते हैं। env PLAYWRIGHT_MCP_NO_SANDBOX |
| --output-dir | आउटपुट फ़ाइलों के लिए निर्देशिका का पथ। env PLAYWRIGHT_MCP_OUTPUT_DIR |
| --output-max-size | पुरानी आउटपुट फ़ाइलों को हटाने के लिए सीमा, बाइट्स में। env PLAYWRIGHT_MCP_OUTPUT_MAX_SIZE |
| --port | SSE परिवहन के लिए सुनने के लिए पोर्ट। env PLAYWRIGHT_MCP_PORT |
| --proxy-bypass | प्रॉक्सी को बायपास करने के लिए अल्पविराम-पृथक डोमेन, उदाहरण के लिए ".com,chromium.org,.domain.com" env PLAYWRIGHT_MCP_PROXY_BYPASS |
| --proxy-server | प्रॉक्सी सर्वर निर्दिष्ट करें, उदाहरण के लिए "http://myproxy:3128" या "socks5://myproxy:8080" env PLAYWRIGHT_MCP_PROXY_SERVER |
| --sandbox | सभी प्रक्रिया प्रकारों के लिए सैंडबॉक्स सक्षम करें जो सामान्य रूप से सैंडबॉक्स नहीं किए जाते हैं। env PLAYWRIGHT_MCP_SANDBOX |
| --save-session | Playwright MCP सत्र को आउटपुट निर्देशिका में सहेजना है या नहीं। env PLAYWRIGHT_MCP_SAVE_SESSION |
| --secrets | dotenv प्रारूप में रहस्यों वाली फ़ाइल का पथ env PLAYWRIGHT_MCP_SECRETS_FILE |
| --shared-browser-context | सभी कनेक्टेड HTTP क्लाइंट के बीच समान ब्राउज़र संदर्भ का पुन: उपयोग करें। env PLAYWRIGHT_MCP_SHARED_BROWSER_CONTEXT |
| --snapshot-boxes | स्नैपशॉट में प्रत्येक तत्व का बाउंडिंग बॉक्स [box=x,y,width,height] के रूप में शामिल करें। निर्देशांक व्यूपोर्ट-सापेक्ष हैं, CSS पिक्सेल में। env PLAYWRIGHT_MCP_SNAPSHOT_BOXES |
| --snapshot-mode | प्रतिक्रियाओं के लिए स्नैपशॉट लेते समय, उपयोग करने का मोड निर्दिष्ट करता है। "full" या "none" हो सकता है। डिफ़ॉल्ट "full" है। env PLAYWRIGHT_MCP_SNAPSHOT_MODE |
| --storage-state | पृथक सत्रों के लिए स्टोरेज स्टेट फ़ाइल का पथ। env PLAYWRIGHT_MCP_STORAGE_STATE |
| --test-id-attribute | परीक्षण आईडी के लिए उपयोग करने की विशेषता निर्दिष्ट करें, डिफ़ॉल्ट "data-testid" है env PLAYWRIGHT_MCP_TEST_ID_ATTRIBUTE |
| --timeout-action | क्रिया टाइमआउट मिलीसेकंड में निर्दिष्ट करें, डिफ़ॉल्ट 5000ms है env PLAYWRIGHT_MCP_TIMEOUT_ACTION |
| --timeout-navigation | नेविगेशन टाइमआउट मिलीसेकंड में निर्दिष्ट करें, डिफ़ॉल्ट 60000ms है env PLAYWRIGHT_MCP_TIMEOUT_NAVIGATION |
| --timeout-settle | प्रत्येक क्रिया के बाद ट्रिगर किए गए कार्य को स्थिर होने के लिए कितनी देर प्रतीक्षा करें, मिलीसेकंड में, डिफ़ॉल्ट 500ms है env PLAYWRIGHT_MCP_TIMEOUT_SETTLE |
| --user-agent | उपयोगकर्ता एजेंट स्ट्रिंग निर्दिष्ट करें env PLAYWRIGHT_MCP_USER_AGENT |
| --user-data-dir | उपयोगकर्ता डेटा निर्देशिका का पथ। यदि निर्दिष्ट नहीं है, तो एक अस्थायी निर्देशिका बनाई जाएगी। env PLAYWRIGHT_MCP_USER_DATA_DIR |
| --viewport-size | ब्राउज़र व्यूपोर्ट आकार पिक्सेल में निर्दिष्ट करें, उदाहरण के लिए "1280x720" env PLAYWRIGHT_MCP_VIEWPORT_SIZE |
उपयोगकर्ता प्रोफ़ाइल
आप Playwright MCP को नियमित ब्राउज़र की तरह स्थायी प्रोफ़ाइल के साथ चला सकते हैं (डिफ़ॉल्ट), परीक्षण सत्रों के लिए पृथक संदर्भों में, या ब्राउज़र एक्सटेंशन का उपयोग करके अपने मौजूदा ब्राउज़र से कनेक्ट कर सकते हैं।
स्थायी प्रोफ़ाइल
सभी लॉग-इन जानकारी स्थायी प्रोफ़ाइल में संग्रहीत की जाएगी, यदि आप ऑफ़लाइन स्थिति साफ़ करना चाहते हैं तो आप इसे सत्रों के बीच हटा सकते हैं।
स्थायी प्रोफ़ाइल निम्नलिखित स्थानों पर स्थित है और आप इसे --user-data-dir तर्क के साथ ओवरराइड कर सकते हैं।
# Windows
%USERPROFILE%\AppData\Local\ms-playwright\mcp-{channel}-{workspace-hash}
# macOS
- ~/Library/Caches/ms-playwright/mcp-{channel}-{workspace-hash}
# Linux
- ~/.cache/ms-playwright/mcp-{channel}-{workspace-hash}
{workspace-hash} MCP क्लाइंट के कार्यक्षेत्र रूट से प्राप्त होता है, इसलिए विभिन्न प्रोजेक्ट स्वचालित रूप से अलग प्रोफ़ाइल प्राप्त करते हैं।
[!IMPORTANT] एक स्थायी प्रोफ़ाइल का उपयोग एक समय में केवल एक ब्राउज़र इंस्टेंस द्वारा किया जा सकता है, इसलिए समान कार्यक्षेत्र साझा करने वाले समवर्ती MCP क्लाइंट संघर्ष करेंगे। कई क्लाइंट समानांतर में चलाने के लिए, प्रत्येक अतिरिक्त क्लाइंट को
--isolatedके साथ शुरू करें या इसे एक अलग--user-data-dirपर इंगित करें।
पृथक
पृथक मोड में, प्रत्येक सत्र पृथक प्रोफ़ाइल में शुरू होता है। हर बार जब आप MCP से ब्राउज़र बंद करने के लिए कहते हैं,
सत्र बंद हो जाता है और इस सत्र के लिए सभी स्टोरेज स्थिति खो जाती है। आप कॉन्फ़िगर के contextOptions या --storage-state तर्क के माध्यम से ब्राउज़र को प्रारंभिक स्टोरेज स्थिति प्रदान कर सकते हैं। स्टोरेज स्थिति के बारे में अधिक जानें यहाँ।
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": [
"@playwright/mcp@latest",
"--isolated",
"--storage-state={path/to/storage.json}"
]
}
}
}
ब्राउज़र एक्सटेंशन
Playwright MCP Chrome एक्सटेंशन आपको मौजूदा ब्राउज़र टैब से कनेक्ट करने और अपने लॉग-इन सत्रों और ब्राउज़र स्थिति का लाभ उठाने की अनुमति देता है। स्थापना और सेटअप निर्देशों के लिए microsoft/playwright › packages/extension देखें।
प्रारंभिक स्थिति
ब्राउज़र संदर्भ या पेज को प्रारंभिक स्थिति प्रदान करने के कई तरीके हैं।
स्टोरेज स्थिति के लिए, आप या तो:
--user-data-dirतर्क का उपयोग करके उपयोगकर्ता डेटा निर्देशिका के साथ शुरू करें। यह सत्रों के बीच सभी ब्राउज़र डेटा को बनाए रखेगा।--storage-stateतर्क का उपयोग करके स्टोरेज स्थिति फ़ाइल के साथ शुरू करें। यह फ़ाइल से कुकीज़ और स्थानीय स्टोरेज को पृथक ब्राउज़र संदर्भ में लोड करेगा।
पेज स्थिति के लिए, आप उपयोग कर सकते हैं:
--init-pageएक TypeScript फ़ाइल को इंगित करने के लिए जो Playwright पेज ऑब्जेक्ट पर मूल्यांकन की जाएगी। यह आपको पेज सेट करने के लिए मनमाना कोड चलाने की अनुमति देता है।
// init-page.ts
export default async ({ page }) => {
await page.context().grantPermissions(['geolocation']);
await page.context().setGeolocation({ latitude: 37.7749, longitude: -122.4194 });
await page.setViewportSize({ width: 1280, height: 720 });
};
--init-scriptएक JavaScript फ़ाइल को इंगित करने के लिए जो प्रारंभिक स्क्रिप्ट के रूप में जोड़ी जाएगी। स्क्रिप्ट का मूल्यांकन हर पेज पर पेज की किसी भी स्क्रिप्ट से पहले किया जाएगा। यह ब्राउज़र API को ओवरराइड करने या पर्यावरण सेट करने के लिए उपयोगी है।
// init-script.js
window.isPlaywrightMCP = true;
कॉन्फ़िगरेशन फ़ाइल
Playwright MCP सर्वर को JSON कॉन्फ़िगरेशन फ़ाइल का उपयोग करके कॉन्फ़िगर किया जा सकता है। आप कॉन्फ़िगरेशन फ़ाइल निर्दिष्ट कर सकते हैं
--config कमांड लाइन विकल्प का उपयोग करके:
npx @playwright/mcp@latest --config path/to/config.json
कॉन्फ़िगरेशन फ़ाइल स्कीमा
{
/**
* The browser to use.
*/
browser?: {
/**
* The type of browser to use.
*/
browserName?: 'chromium' | 'firefox' | 'webkit';
/**
* Keep the browser profile in memory, do not save it to disk.
*/
isolated?: boolean;
/**
* Path to a user data directory for browser profile persistence.
* Temporary directory is created by default.
*/
userDataDir?: string;
/**
* Launch options passed to
* @see https://playwright.dev/docs/api/class-browsertype#browser-type-launch-persistent-context
*
* This is useful for settings options like `channel`, `headless`, `executablePath`, etc.
*/
launchOptions?: playwright.LaunchOptions;
/**
* Context options for the browser context.
*
* This is useful for settings options like `viewport`.
*/
contextOptions?: playwright.BrowserContextOptions;
/**
* Chrome DevTools Protocol endpoint to connect to an existing browser instance in case of Chromium family browsers.
*/
cdpEndpoint?: string;
/**
* CDP headers to send with the connect request.
*/
cdpHeaders?: Record<string, string>;
/**
* Timeout in milliseconds for connecting to CDP endpoint. Defaults to 30000 (30 seconds). Pass 0 to disable timeout.
*/
cdpTimeout?: number;
/**
* Remote endpoint to connect to an existing Playwright server. May be a
* WebSocket URL string, or a [ConnectOptions] object that mirrors the
* `connectOptions` shape used by the test runner. When passed as an object,
* `exposeNetwork`, `headers`, `slowMo`, and `timeout` are forwarded to the
* underlying connect call.
*/
remoteEndpoint?: string | playwright.ConnectOptions & { endpoint: string };
/**
* Paths to TypeScript files to add as initialization scripts for Playwright page.
*/
initPage?: string[];
/**
* Paths to JavaScript files to add as initialization scripts.
* The scripts will be evaluated in every page before any of the page's scripts.
*/
initScript?: string[];
},
/**
* Connect to a running browser instance (Edge/Chrome only). If specified, `browser`
* config is ignored.
* Requires the "Playwright Extension" to be installed.
*/
extension?: boolean;
server?: {
/**
* The port to listen on for SSE or MCP transport.
*/
port?: number;
/**
* The host to bind the server to. Default is localhost. Use 0.0.0.0 to bind to all interfaces.
*/
host?: string;
/**
* The hosts this server is allowed to serve from. Defaults to the host server is bound to.
* This is not for CORS, but rather for the DNS rebinding protection.
*/
allowedHosts?: string[];
},
/**
* List of enabled tool capabilities. Possible values:
* - 'core': Core browser automation features.
* - 'pdf': PDF generation and manipulation.
* - 'vision': Coordinate-based interactions.
* - 'devtools': Developer tools features.
*/
capabilities?: ToolCapability[];
/**
* Whether to save the Playwright session into the output directory.
*/
saveSession?: boolean;
/**
* Reuse the same browser context between all connected HTTP clients.
*/
sharedBrowserContext?: boolean;
/**
* Secrets are used to replace matching plain text in the tool responses to prevent the LLM
* from accidentally getting sensitive data. It is a convenience and not a security feature,
* make sure to always examine information coming in and from the tool on the client.
*/
secrets?: Record<string, string>;
/**
* The directory to save output files.
*/
outputDir?: string;
/**
* Threshold for evicting old output files, in bytes.
*/
outputMaxSize?: number;
console?: {
/**
* The level of console messages to return. Each level includes the messages of more severe levels. Defaults to "info".
*/
level?: 'error' | 'warning' | 'info' | 'debug';
},
network?: {
/**
* List of origins to allow the browser to request. Default is to allow all. Origins matching both `allowedOrigins` and `blockedOrigins` will be blocked.
*
* Supported formats:
* - Full origin: `https://example.com:8080` - matches only that origin
* - Wildcard port: `http://localhost:*` - matches any port on localhost with http protocol
*/
allowedOrigins?: string[];
/**
* List of origins to block the browser to request. Origins matching both `allowedOrigins` and `blockedOrigins` will be blocked.
*
* Supported formats:
* - Full origin: `https://example.com:8080` - matches only that origin
* - Wildcard port: `http://localhost:*` - matches any port on localhost with http protocol
*/
blockedOrigins?: string[];
};
/**
* Specify the attribute to use for test ids, defaults to "data-testid".
*/
testIdAttribute?: string;
timeouts?: {
/*
* Configures default action timeout: https://playwright.dev/docs/api/class-page#page-set-default-timeout. Defaults to 5000ms.
*/
action?: number;
/*
* Configures default navigation timeout: https://playwright.dev/docs/api/class-page#page-set-default-navigation-timeout. Defaults to 60000ms.
*/
navigation?: number;
/**
* Configures default expect timeout: https://playwright.dev/docs/test-timeouts#expect-timeout. Defaults to 5000ms.
*/
expect?: number;
/**
* How long to wait after each action for triggered work (navigations, requests) to settle before responding. Defaults to 500ms.
*/
settle?: number;
};
/**
* Whether to send image responses to the client. Can be "allow", "omit", or "auto". Defaults to "auto", which sends images if the client can display them.
*/
imageResponses?: 'allow' | 'omit';
snapshot?: {
/**
* When taking snapshots for responses, specifies the mode to use.
*/
mode?: 'full' | 'none';
/**
* Whether to include each element's bounding box as [box=x,y,width,height] in snapshots.
* Coordinates are viewport-relative, in CSS pixels (Element.getBoundingClientRect).
*/
boxes?: boolean;
};
/**
* allowUnrestrictedFileAccess acts as a guardrail to prevent the LLM from accidentally
* wandering outside its intended workspace. It is a convenience defense to catch unintended
* file access, not a secure boundary; a deliberate attempt to reach other directories can be
* easily worked around, so always rely on client-level permissions for true security.
*/
allowUnrestrictedFileAccess?: boolean;
/**
* Specify the language to use for code generation.
*/
codegen?: 'typescript' | 'python' | 'java' | 'csharp' | 'none';
}
स्टैंडअलोन MCP सर्वर
जब बिना डिस्प्ले वाले सिस्टम पर या IDE के वर्कर प्रोसेस से हेडेड ब्राउज़र चला रहे हों,
MCP सर्वर को DISPLAY वाले पर्यावरण से चलाएं और HTTP परिवहन सक्षम करने के लिए --port फ़्लैग पास करें।
npx @playwright/mcp@latest --port 8931
और फिर MCP क्लाइंट कॉन्फ़िग में, url को HTTP एंडपॉइंट पर सेट करें:
{
"mcpServers": {
"playwright": {
"url": "http://localhost:8931/mcp"
}
}
}
सुरक्षा
Playwright MCP नहीं एक सुरक्षा सीमा है। अपने परिनियोजन को सुरक्षित करने के मार्गदर्शन के लिए MCP सुरक्षा सर्वोत्तम अभ्यास देखें।
Docker
नोट: Docker कार्यान्वयन वर्तमान में केवल हेडलेस क्रोमियम का समर्थन करता है।
{
"mcpServers": {
"playwright": {
"command": "docker",
"args": ["run", "-i", "--rm", "--init", "--pull=always", "mcr.microsoft.com/playwright/mcp"]
}
}
}
या यदि आप MCP क्लाइंट को इसे स्पॉन करने देने के बजाय कंटेनर को दीर्घकालिक सेवा के रूप में चलाना पसंद करते हैं, तो उपयोग करें:
docker run -d -i --rm --init --pull=always \
--entrypoint node \
--name playwright \
-p 8931:8931 \
mcr.microsoft.com/playwright/mcp \
/app/cli.js --headless --browser chromium --no-sandbox --port 8931 --host 0.0.0.0
सर्वर होस्ट पोर्ट 8931 पर सुनेगा और किसी भी MCP क्लाइंट द्वारा पहुँचा जा सकता है।
आप Docker छवि स्वयं बना सकते हैं।
docker build -t mcr.microsoft.com/playwright/mcp .
प्रोग्रामेटिक उपयोग
import http from 'http';
import { createConnection } from '@playwright/mcp';
import { SSEServerTransport } from '@modelcontextprotocol/sdk/server/sse.js';
http.createServer(async (req, res) => {
// ...
// Creates a headless Playwright MCP server with SSE transport
const connection = await createConnection({ browser: { launchOptions: { headless: true } } });
const transport = new SSEServerTransport('/messages', res);
await connection.connect(transport);
// ...
});
उपकरण
कोर स्वचालन
- browser_click
- शीर्षक: क्लिक करें
- विवरण: वेब पेज पर क्लिक करें
- पैरामीटर:
element(स्ट्रिंग, वैकल्पिक): तत्व के साथ इंटरैक्ट करने की अनुमति प्राप्त करने के लिए उपयोग की जाने वाली मानव-पठनीय तत्व विवरणtarget(स्ट्रिंग): पेज स्नैपशॉट से सटीक लक्ष्य तत्व संदर्भ, या एक अद्वितीय तत्व चयनकर्ताdoubleClick(बूलियन, वैकल्पिक): क्या एकल क्लिक के बजाय डबल क्लिक करना हैbutton(स्ट्रिंग, वैकल्पिक): क्लिक करने के लिए बटन, डिफ़ॉल्ट बाएं हैmodifiers(सरणी, वैकल्पिक): दबाने के लिए संशोधक कुंजियाँ
- केवल-पठनीय: false
- browser_close
- शीर्षक: ब्राउज़र बंद करें
- विवरण: पेज बंद करें
- पैरामीटर: कोई नहीं
- केवल-पठनीय: false
- browser_console_messages
- शीर्षक: कंसोल संदेश प्राप्त करें
- विवरण: सभी कंसोल संदेश लौटाता है
- पैरामीटर:
level(स्ट्रिंग): लौटाने के लिए कंसोल संदेशों का स्तर। प्रत्येक स्तर में अधिक गंभीर स्तरों के संदेश शामिल होते हैं। डिफ़ॉल्ट "info" है।all(बूलियन, वैकल्पिक): सत्र की शुरुआत से सभी कंसोल संदेश लौटाएं, न कि केवल अंतिम नेविगेशन के बाद से। डिफ़ॉल्ट false है।filename(स्ट्रिंग, वैकल्पिक): कंसोल संदेशों को सहेजने के लिए फ़ाइल नाम। यदि प्रदान नहीं किया गया है, तो संदेश पाठ के रूप में लौटाए जाते हैं।
- केवल-पठनीय: true
- browser_drag
- शीर्षक: माउस खींचें
- विवरण: दो तत्वों के बीच ड्रैग और ड्रॉप करें
- पैरामीटर:
startElement(स्ट्रिंग, वैकल्पिक): तत्व के साथ इंटरैक्ट करने की अनुमति प्राप्त करने के लिए उपयोग की जाने वाली मानव-पठनीय स्रोत तत्व विवरणstartTarget(स्ट्रिंग): पेज स्नैपशॉट से सटीक लक्ष्य तत्व संदर्भ, या एक अद्वितीय तत्व चयनकर्ताendElement(स्ट्रिंग, वैकल्पिक): तत्व के साथ इंटरैक्ट करने की अनुमति प्राप्त करने के लिए उपयोग की जाने वाली मानव-पठनीय लक्ष्य तत्व विवरणendTarget(स्ट्रिंग): पेज स्नैपशॉट से सटीक लक्ष्य तत्व संदर्भ, या एक अद्वितीय तत्व चयनकर्ता
- केवल-पठनीय: false
- browser_drop
- शीर्षक: किसी तत्व पर फ़ाइलें या डेटा छोड़ें
- विवरण: किसी तत्व पर फ़ाइलें या MIME-टाइप किया गया डेटा छोड़ें, जैसे कि पेज के बाहर से खींचा गया हो। "paths" या "data" में से कम से कम एक प्रदान किया जाना चाहिए।
- पैरामीटर:
element(स्ट्रिंग, वैकल्पिक): तत्व के साथ इंटरैक्ट करने की अनुमति प्राप्त करने के लिए उपयोग की जाने वाली मानव-पठनीय तत्व विवरणtarget(स्ट्रिंग): पेज स्नैपशॉट से सटीक लक्ष्य तत्व संदर्भ, या एक अद्वितीय तत्व चयनकर्ताpaths(सरणी, वैकल्पिक): तत्व पर छोड़ने के लिए फ़ाइलों के पूर्ण पथ।data(ऑब्जेक्ट, वैकल्पिक): छोड़ने के लिए डेटा, MIME प्रकार से स्ट्रिंग मान के मानचित्र के रूप में (जैसे {"text/plain": "hello", "text/uri-list": "https://example.com"})।
- केवल-पठनीय: false
- browser_evaluate
- शीर्षक: JavaScript का मूल्यांकन करें
- विवरण: पेज या तत्व पर JavaScript अभिव्यक्ति का मूल्यांकन करें
- पैरामीटर:
element(स्ट्रिंग, वैकल्पिक): तत्व के साथ इंटरैक्ट करने की अनुमति प्राप्त करने के लिए उपयोग की जाने वाली मानव-पठनीय तत्व विवरणtarget(स्ट्रिंग, वैकल्पिक): पेज स्नैपशॉट से सटीक लक्ष्य तत्व संदर्भ, या एक अद्वितीय तत्व चयनकर्ताfunction(स्ट्रिंग): () => { /* कोड / } या (element) => { / कोड */ } जब तत्व प्रदान किया जाता हैfilename(स्ट्रिंग, वैकल्पिक): परिणाम सहेजने के लिए फ़ाइल नाम। यदि प्रदान नहीं किया गया है, तो परिणाम पाठ के रूप में लौटाया जाता है।
- केवल-पठनीय: false
- browser_file_upload
- शीर्षक: फ़ाइलें अपलोड करें
- विवरण: एक या कई फ़ाइलें अपलोड करें
- पैरामीटर:
paths(सरणी, वैकल्पिक): अपलोड करने के लिए फ़ाइलों के पूर्ण पथ। एकल फ़ाइल या कई फ़ाइलें हो सकती हैं। यदि छोड़ा गया है, तो फ़ाइल चयनकर्ता रद्द कर दिया जाता है।
- केवल-पठनीय: false
- browser_fill_form
- शीर्षक: फ़ॉर्म भरें
- विवरण: कई फ़ॉर्म फ़ील्ड भरें
- पैरामीटर:
fields(सरणी): भरने के लिए फ़ील्ड
- केवल-पठनीय: false
- browser_find
- शीर्षक: पेज स्नैपशॉट में खोजें
- विवरण: वर्तमान पेज के एक्सेसिबिलिटी स्नैपशॉट में टेक्स्ट या नियमित अभिव्यक्ति खोजें। आसपास के संदर्भ की कुछ पंक्तियों (जैसे खोज स्निपेट) के साथ मेल खाने वाले स्नैपशॉट नोड्स लौटाता है, प्रत्येक को पेड़ की जड़ से अपने पथ के नीचे दिखाया जाता है, जो पूरे स्नैपशॉट को कैप्चर करने से सस्ता है जब आपको केवल एक तत्व और उसके ref को खोजने की आवश्यकता होती है।
- पैरामीटर:
text(स्ट्रिंग, वैकल्पिक): पेज स्नैपशॉट में खोजने के लिए सादा पाठ (केस-असंवेदनशील सबस्ट्रिंग मिलान)। या तो text या regex प्रदान करें, दोनों नहीं।regex(स्ट्रिंग, वैकल्पिक): पेज स्नैपशॉट में खोजने के लिए नियमित अभिव्यक्ति। मिलान डिफ़ॉल्ट रूप से केस-संवेदनशील है; फ़्लैग जोड़ने के लिए पैटर्न को स्लैश में लपेटें, जैसे केस-असंवेदनशील के लिए "/error/i"। या तो text या regex प्रदान करें, दोनों नहीं।
- केवल-पठनीय: true
- browser_handle_dialog
- शीर्षक: डायलॉग संभालें
- विवरण: डायलॉग संभालें
- पैरामीटर:
accept(बूलियन): क्या डायलॉग स्वीकार करना है।promptText(स्ट्रिंग, वैकल्पिक): प्रॉम्प्ट डायलॉग के मामले में प्रॉम्प्ट का पाठ।
- केवल-पठनीय: false
- browser_hover
- शीर्षक: माउस होवर करें
- विवरण: पेज पर तत्व पर होवर करें
- पैरामीटर:
element(स्ट्रिंग, वैकल्पिक): तत्व के साथ इंटरैक्ट करने की अनुमति प्राप्त करने के लिए उपयोग की जाने वाली मानव-पठनीय तत्व विवरणtarget(स्ट्रिंग): पेज स्नैपशॉट से सटीक लक्ष्य तत्व संदर्भ, या एक अद्वितीय तत्व चयनकर्ता
- केवल-पठनीय: false
- browser_navigate
- शीर्षक: URL पर नेविगेट करें
- विवरण: URL पर नेविगेट करें
- पैरामीटर:
url(स्ट्रिंग): नेविगेट करने के लिए URL
- केवल-पठनीय: false
- browser_navigate_back
- शीर्षक: पीछे जाएं
- विवरण: इतिहास में पिछले पेज पर वापस जाएं
- पैरामीटर: कोई नहीं
- केवल-पठनीय: false
- browser_network_request
- शीर्षक: नेटवर्क अनुरोध विवरण दिखाएं
- विवरण: एकल नेटवर्क अनुरोध का पूरा विवरण (हेडर और बॉडी) लौटाता है, या यदि
partसेट है तो एकल भाग। browser_network_requests से संख्या का उपयोग करें। - पैरामीटर:
index(पूर्णांक): अनुरोध का 1-आधारित सूचकांक, जैसा कि browser_network_requests द्वारा मुद्रित किया गया है।part(स्ट्रिंग, वैकल्पिक): अनुरोध का केवल यह भाग लौटाएं। पूर्ण विवरण लौटाने के लिए छोड़ें।filename(स्ट्रिंग, वैकल्पिक): परिणाम सहेजने के लिए फ़ाइल नाम। यदि प्रदान नहीं किया गया है, तो आउटपुट पाठ के रूप में लौटाया जाता है।
- केवल-पठनीय: true
- browser_network_requests
- शीर्षक: नेटवर्क अनुरोध सूचीबद्ध करें
- विवरण: पेज लोड होने के बाद से नेटवर्क अनुरोधों की एक क्रमांकित सूची लौटाता है। पूर्ण विवरण प्राप्त करने के लिए संख्या के साथ browser_network_request का उपयोग करें।
- पैरामीटर:
static(बूलियन): क्या छवियों, फ़ॉन्ट्स, स्क्रिप्ट्स आदि जैसे सफल स्थिर संसाधनों को शामिल करना है। डिफ़ॉल्ट false है।filter(स्ट्रिंग, वैकल्पिक): केवल उन अनुरोधों को लौटाएं जिनका URL इस regexp से मेल खाता है (जैसे "/api/.*user")।filename(स्ट्रिंग, वैकल्पिक): नेटवर्क अनुरोधों को सहेजने के लिए फ़ाइल नाम। यदि प्रदान नहीं किया गया है, तो अनुरोध पाठ के रूप में लौटाए जाते हैं।
- केवल-पठनीय: true
- browser_press_key
- शीर्षक: एक कुंजी दबाएं
- विवरण: कीबोर्ड पर एक कुंजी दबाएं
- पैरामीटर:
key(स्ट्रिंग): दबाने के लिए कुंजी का नाम या उत्पन्न करने के लिए एक वर्ण, जैसेArrowLeftयाa
- केवल-पठनीय: false
- browser_resize
- शीर्षक: ब्राउज़र विंडो का आकार बदलें
- विवरण: ब्राउज़र विंडो का आकार बदलें
- पैरामीटर:
width(संख्या): ब्राउज़र विंडो की चौड़ाईheight(संख्या): ब्राउज़र विंडो की ऊंचाई
- केवल-पठनीय: false
- browser_run_code_unsafe
- शीर्षक: Playwright कोड चलाएं (असुरक्षित)
- विवरण: Playwright कोड स्निपेट चलाएं। असुरक्षित: Playwright सर्वर प्रक्रिया में मनमाना JavaScript निष्पादित करता है और RCE-समतुल्य है।
- पैरामीटर:
code(स्ट्रिंग, वैकल्पिक): Playwright कोड युक्त एक JavaScript फ़ंक्शन जिसे निष्पादित करना है। इसे एक एकल तर्क, page के साथ लागू किया जाएगा, जिसका उपयोग आप किसी भी पेज इंटरैक्शन के लिए कर सकते हैं। उदाहरण के लिए:async (page) => { await page.getByRole('button', { name: 'Submit' }).click(); return await page.title(); }filename(स्ट्रिंग, वैकल्पिक): निर्दिष्ट फ़ाइल से कोड लोड करें। यदि कोड और फ़ाइल नाम दोनों प्रदान किए गए हैं, तो कोड को अनदेखा किया जाएगा।
- केवल-पठनीय: false
- browser_select_option
- शीर्षक: विकल्प चुनें
- विवरण: ड्रॉपडाउन में एक विकल्प चुनें
- पैरामीटर:
element(स्ट्रिंग, वैकल्पिक): तत्व के साथ इंटरैक्ट करने की अनुमति प्राप्त करने के लिए उपयोग की जाने वाली मानव-पठनीय तत्व विवरणtarget(स्ट्रिंग): पेज स्नैपशॉट से सटीक लक्ष्य तत्व संदर्भ, या एक अद्वितीय तत्व चयनकर्ताvalues(सरणी): ड्रॉपडाउन में चुनने के लिए मानों की सरणी। यह एकल मान या कई मान हो सकते हैं।
- केवल-पठनीय: false
- browser_snapshot
- शीर्षक: पेज स्नैपशॉट
- विवरण: वर्तमान पेज का एक्सेसिबिलिटी स्नैपशॉट कैप्चर करें, यह स्क्रीनशॉट से बेहतर है
- पैरामीटर:
target(स्ट्रिंग, वैकल्पिक): पेज स्नैपशॉट से सटीक लक्ष्य तत्व संदर्भ, या एक अद्वितीय तत्व चयनकर्ताfilename(स्ट्रिंग, वैकल्पिक): प्रतिक्रिया में लौटाने के बजाय स्नैपशॉट को मार्कडाउन फ़ाइल में सहेजें।depth(संख्या, वैकल्पिक): स्नैपशॉट पेड़ की गहराई सीमित करेंboxes(बूलियन, वैकल्पिक): स्नैपशॉट में प्रत्येक तत्व का बाउंडिंग बॉक्स [box=x,y,width,height] के रूप में शामिल करें। निर्देशांक व्यूपोर्ट-सापेक्ष हैं, CSS पिक्सेल में (Element.getBoundingClientRect)
- केवल-पठनीय: true
- browser_take_screenshot
- शीर्षक: स्क्रीनशॉट लें
- विवरण: वर्तमान पेज का स्क्रीनशॉट लें। आप स्क्रीनशॉट के आधार पर क्रियाएं नहीं कर सकते, क्रियाओं के लिए browser_snapshot का उपयोग करें।
- पैरामीटर:
element(स्ट्रिंग, वैकल्पिक): तत्व के साथ इंटरैक्ट करने की अनुमति प्राप्त करने के लिए उपयोग की जाने वाली मानव-पठनीय तत्व विवरणtarget(स्ट्रिंग, वैकल्पिक): पेज स्नैपशॉट से सटीक लक्ष्य तत्व संदर्भ, या एक अद्वितीय तत्व चयनकर्ताtype(स्ट्रिंग, वैकल्पिक): स्क्रीनशॉट के लिए छवि प्रारूप। यदि अनसेट है, तो फ़ाइल एक्सटेंशन से अनुमानित, अन्यथा png।filename(स्ट्रिंग, वैकल्पिक): स्क्रीनशॉट सहेजने के लिए फ़ाइल नाम। यदि निर्दिष्ट नहीं है तो डिफ़ॉल्टpage-{timestamp}.{png|jpeg|webp}है। आउटपुट निर्देशिका के भीतर रहने के लिए सापेक्ष फ़ाइल नाम पसंद करें।fullPage(बूलियन, वैकल्पिक): जब true, वर्तमान में दिखाई देने वाले व्यूपोर्ट के बजाय पूरे स्क्रॉल करने योग्य पेज का स्क्रीनशॉट लेता है। तत्व स्क्रीनशॉट के साथ उपयोग नहीं किया जा सकता।scale(स्ट्रिंग): छवि रिज़ॉल्यूशन स्केल। "css" CSS पिक्सेल में आकार का स्क्रीनशॉट उत्पन्न करता है (छोटा, उपकरणों में सुसंगत)। "device" डिवाइस पिक्सेल का उपयोग करके उच्च-रिज़ॉल्यूशन स्क्रीनशॉट उत्पन्न करता है (बड़ा, डिवाइस पिक्सेल अनुपात के लिए जिम्मेदार)। डिफ़ॉल्ट css है।
- केवल-पठनीय: true
- browser_type
- शीर्षक: टेक्स्ट टाइप करें
- विवरण: संपादन योग्य तत्व में टेक्स्ट टाइप करें
- पैरामीटर:
element(स्ट्रिंग, वैकल्पिक): तत्व के साथ इंटरैक्ट करने की अनुमति प्राप्त करने के लिए उपयोग की जाने वाली मानव-पठनीय तत्व विवरणtarget(स्ट्रिंग): पेज स्नैपशॉट से सटीक लक्ष्य तत्व संदर्भ, या एक अद्वितीय तत्व चयनकर्ताtext(स्ट्रिंग): तत्व में टाइप करने के लिए टेक्स्टsubmit(बूलियन, वैकल्पिक): क्या दर्ज किए गए टेक्स्ट को सबमिट करना है (बाद में Enter दबाएं)slowly(बूलियन, वैकल्पिक): क्या एक समय में एक वर्ण टाइप करना है। पेज में कुंजी हैंडलर ट्रिगर करने के लिए उपयोगी। डिफ़ॉल्ट रूप से पूरा टेक्स्ट एक बार में भरा जाता है।
- केवल-पठनीय: false
- browser_wait_for
- शीर्षक: प्रतीक्षा करें
- विवरण: टेक्स्ट के प्रकट या अदृश्य होने या निर्दिष्ट समय बीतने तक प्रतीक्षा करें
- पैरामीटर:
time(संख्या, वैकल्पिक): सेकंड में प्रतीक्षा करने का समयtext(स्ट्रिंग, वैकल्पिक): प्रतीक्षा करने के लिए टेक्स्टtextGone(स्ट्रिंग, वैकल्पिक): अदृश्य होने के लिए प्रतीक्षा करने वाला टेक्स्ट
- केवल-पठनीय: false
टैब प्रबंधन
- browser_tabs
- शीर्षक: टैब प्रबंधित करें
- विवरण: ब्राउज़र टैब की सूची बनाएं, बनाएं, बंद करें या चुनें।
- पैरामीटर:
action(स्ट्रिंग): करने के लिए ऑपरेशनindex(संख्या, वैकल्पिक): टैब इंडेक्स, बंद/चयन के लिए उपयोग किया जाता है। बंद करने के लिए छोड़ दिए जाने पर, वर्तमान टैब बंद हो जाता है।url(स्ट्रिंग, वैकल्पिक): नए टैब में नेविगेट करने के लिए URL, नए के लिए उपयोग किया जाता है।
- केवल-पठनीय: false
ब्राउज़र स्थापना
कॉन्फ़िगरेशन (--caps=config के माध्यम से ऑप्ट-इन)
- browser_get_config
- शीर्षक: कॉन्फ़िग प्राप्त करें
- विवरण: CLI विकल्पों, पर्यावरण चर और कॉन्फ़िग फ़ाइल को मर्ज करने के बाद अंतिम हल किया गया कॉन्फ़िग प्राप्त करें।
- पैरामीटर: कोई नहीं
- केवल-पठनीय: true
नेटवर्क (--caps=network के माध्यम से ऑप्ट-इन)
- browser_network_state_set
- शीर्षक: नेटवर्क स्थिति सेट करें
- विवरण: ब्राउज़र नेटवर्क स्थिति को ऑनलाइन या ऑफ़लाइन पर सेट करता है। ऑफ़लाइन होने पर, सभी नेटवर्क अनुरोध विफल हो जाएंगे।
- पैरामीटर:
state(स्ट्रिंग): ऑफ़लाइन मोड का अनुकरण करने के लिए "offline" पर सेट करें, नेटवर्क कनेक्टिविटी बहाल करने के लिए "online" पर सेट करें
- केवल-पठनीय: false
- browser_route
- शीर्षक: नेटवर्क अनुरोधों का मॉक करें
- विवरण: URL पैटर्न से मेल खाने वाले नेटवर्क अनुरोधों को मॉक करने के लिए एक रूट सेट करें
- पैरामीटर:
pattern(स्ट्रिंग): मिलान करने के लिए URL पैटर्न (जैसे, "/api/users", "/*.{png,jpg}")status(संख्या, वैकल्पिक): लौटाने के लिए HTTP स्थिति कोड (डिफ़ॉल्ट: 200)body(स्ट्रिंग, वैकल्पिक): प्रतिक्रिया निकाय (टेक्स्ट या JSON स्ट्रिंग)contentType(स्ट्रिंग, वैकल्पिक): Content-Type हेडर (जैसे, "application/json", "text/html")headers(सरणी, वैकल्पिक): "नाम: मान" प्रारूप में जोड़ने के लिए हेडरremoveHeaders(स्ट्रिंग, वैकल्पिक): अनुरोध से हटाने के लिए हेडर नामों की अल्पविराम-पृथक सूची
- केवल-पठनीय: false
- browser_route_list
- शीर्षक: नेटवर्क रूट सूचीबद्ध करें
- विवरण: सभी सक्रिय नेटवर्क रूट सूचीबद्ध करें
- पैरामीटर: कोई नहीं
- केवल-पठनीय: true
- browser_unroute
- शीर्षक: नेटवर्क रूट हटाएं
- विवरण: एक पैटर्न से मेल खाने वाले नेटवर्क रूट हटाएं (या यदि कोई पैटर्न निर्दिष्ट नहीं है तो सभी रूट)
- पैरामीटर:
pattern(स्ट्रिंग, वैकल्पिक): अनरूट करने के लिए URL पैटर्न (सभी रूट हटाने के लिए छोड़ दें)
- केवल-पठनीय: false
स्टोरेज (--caps=storage के माध्यम से ऑप्ट-इन)
- browser_cookie_clear
- शीर्षक: कुकीज़ साफ़ करें
- विवरण: सभी कुकीज़ साफ़ करें
- पैरामीटर: कोई नहीं
- केवल-पठनीय: false
- browser_cookie_delete
- शीर्षक: कुकी हटाएं
- विवरण: एक विशिष्ट कुकी हटाएं
- पैरामीटर:
name(स्ट्रिंग): हटाने के लिए कुकी का नाम
- केवल-पठनीय: false
- browser_cookie_get
- शीर्षक: कुकी प्राप्त करें
- विवरण: नाम से एक विशिष्ट कुकी प्राप्त करें
- पैरामीटर:
name(स्ट्रिंग): प्राप्त करने के लिए कुकी का नाम
- केवल-पठनीय: true
- browser_cookie_list
- शीर्षक: कुकीज़ सूचीबद्ध करें
- विवरण: सभी कुकीज़ सूचीबद्ध करें (वैकल्पिक रूप से डोमेन/पथ द्वारा फ़िल्टर किया गया)
- पैरामीटर:
domain(स्ट्रिंग, वैकल्पिक): डोमेन द्वारा कुकीज़ फ़िल्टर करेंpath(स्ट्रिंग, वैकल्पिक): पथ द्वारा कुकीज़ फ़िल्टर करें
- केवल-पठनीय: true
- browser_cookie_set
- शीर्षक: कुकी सेट करें
- विवरण: वैकल्पिक फ़्लैग (डोमेन, पथ, समाप्ति, httpOnly, secure, sameSite) के साथ एक कुकी सेट करें
- पैरामीटर:
name(स्ट्रिंग): कुकी का नामvalue(स्ट्रिंग): कुकी का मानdomain(स्ट्रिंग, वैकल्पिक): कुकी का डोमेनpath(स्ट्रिंग, वैकल्पिक): कुकी का पथexpires(संख्या, वैकल्पिक): Unix टाइमस्टैम्प के रूप में कुकी की समाप्तिhttpOnly(बूलियन, वैकल्पिक): क्या कुकी केवल HTTP हैsecure(बूलियन, वैकल्पिक): क्या कुकी सुरक्षित हैsameSite(स्ट्रिंग, वैकल्पिक): कुकी का SameSite विशेषता
- केवल-पठनीय: false
- browser_localstorage_clear
- शीर्षक: localStorage साफ़ करें
- विवरण: सभी localStorage साफ़ करें
- पैरामीटर: कोई नहीं
- केवल-पठनीय: false
- browser_localstorage_delete
- शीर्षक: localStorage आइटम हटाएं
- विवरण: एक localStorage आइटम हटाएं
- पैरामीटर:
key(स्ट्रिंग): हटाने के लिए कुंजी
- केवल-पठनीय: false
- browser_localstorage_get
- शीर्षक: localStorage आइटम प्राप्त करें
- विवरण: कुंजी द्वारा एक localStorage आइटम प्राप्त करें
- पैरामीटर:
key(स्ट्रिंग): प्राप्त करने के लिए कुंजी
- केवल-पठनीय: true
- browser_localstorage_list
- शीर्षक: localStorage सूचीबद्ध करें
- विवरण: सभी localStorage कुंजी-मान जोड़े सूचीबद्ध करें
- पैरामीटर: कोई नहीं
- केवल-पठनीय: true
- browser_localstorage_set
- शीर्षक: localStorage आइटम सेट करें
- विवरण: एक localStorage आइटम सेट करें
- पैरामीटर:
key(स्ट्रिंग): सेट करने के लिए कुंजीvalue(स्ट्रिंग): सेट करने के लिए मान
- केवल-पठनीय: false
- browser_sessionstorage_clear
- शीर्षक: sessionStorage साफ़ करें
- विवरण: सभी sessionStorage साफ़ करें
- पैरामीटर: कोई नहीं
- केवल-पठनीय: false
- browser_sessionstorage_delete
- शीर्षक: sessionStorage आइटम हटाएं
- विवरण: एक sessionStorage आइटम हटाएं
- पैरामीटर:
key(स्ट्रिंग): हटाने के लिए कुंजी
- केवल-पठनीय: false
- browser_sessionstorage_get
- शीर्षक: sessionStorage आइटम प्राप्त करें
- विवरण: कुंजी द्वारा एक sessionStorage आइटम प्राप्त करें
- पैरामीटर:
key(स्ट्रिंग): प्राप्त करने के लिए कुंजी
- केवल-पठनीय: true
- browser_sessionstorage_list
- शीर्षक: sessionStorage सूचीबद्ध करें
- विवरण: सभी sessionStorage कुंजी-मान जोड़े सूचीबद्ध करें
- पैरामीटर: कोई नहीं
- केवल-पठनीय: true
- browser_sessionstorage_set
- शीर्षक: sessionStorage आइटम सेट करें
- विवरण: एक sessionStorage आइटम सेट करें
- पैरामीटर:
key(स्ट्रिंग): सेट करने के लिए कुंजीvalue(स्ट्रिंग): सेट करने के लिए मान
- केवल-पठनीय: false
- browser_set_storage_state
- शीर्षक: स्टोरेज स्थिति पुनर्स्थापित करें
- विवरण: फ़ाइल से स्टोरेज स्थिति (कुकीज़, स्थानीय स्टोरेज) पुनर्स्थापित करें। यह पुनर्स्थापित करने से पहले मौजूदा कुकीज़ और स्थानीय स्टोरेज को साफ़ करता है।
- पैरामीटर:
filename(स्ट्रिंग): पुनर्स्थापित करने के लिए स्टोरेज स्थिति फ़ाइल का पथ
- केवल-पठनीय: false
- browser_storage_state
- शीर्षक: स्टोरेज स्थिति सहेजें
- विवरण: बाद में पुन: उपयोग के लिए स्टोरेज स्थिति (कुकीज़, स्थानीय स्टोरेज) को फ़ाइल में सहेजें
- पैरामीटर:
filename(स्ट्रिंग, वैकल्पिक): स्टोरेज स्थिति सहेजने के लिए फ़ाइल नाम। निर्दिष्ट न होने पर डिफ़ॉल्टstorage-state-{timestamp}.jsonहै।
- केवल-पठनीय: true
DevTools (--caps=devtools के माध्यम से ऑप्ट-इन)
- browser_annotate
- शीर्षक: वर्तमान पृष्ठ पर एनोटेट करें
- विवरण: वर्तमान पृष्ठ के लिए एनोटेशन मोड में Playwright डैशबोर्ड खोलें और उपयोगकर्ता द्वारा एनोटेशन बनाने की प्रतीक्षा करें। एनोटेटेड स्क्रीनशॉट, ARIA स्नैपशॉट और एनोटेशन की सूची लौटाता है।
- पैरामीटर: कोई नहीं
- केवल-पठनीय: true
- browser_hide_highlight
- शीर्षक: तत्व हाइलाइट छिपाएं
- विवरण: तत्व के लिए पहले जोड़ा गया हाइलाइट ओवरले हटाएं।
- पैरामीटर:
element(स्ट्रिंग, वैकल्पिक): हाइलाइट जोड़ते समय उपयोग की गई मानव-पठनीय तत्व विवरण; browser_highlight को पारित मान से मेल खाना चाहिए।target(स्ट्रिंग, वैकल्पिक): पृष्ठ स्नैपशॉट से सटीक लक्ष्य तत्व संदर्भ, या एक अद्वितीय तत्व चयनकर्ता
- केवल-पठनीय: true
- browser_highlight
- शीर्षक: तत्व हाइलाइट करें
- विवरण: पृष्ठ पर तत्व के चारों ओर एक स्थायी हाइलाइट ओवरले दिखाएं।
- पैरामीटर:
element(स्ट्रिंग, वैकल्पिक): तत्व के साथ बातचीत करने की अनुमति प्राप्त करने के लिए उपयोग की गई मानव-पठनीय तत्व विवरणtarget(स्ट्रिंग): पृष्ठ स्नैपशॉट से सटीक लक्ष्य तत्व संदर्भ, या एक अद्वितीय तत्व चयनकर्ताstyle(स्ट्रिंग, वैकल्पिक): हाइलाइट ओवरले पर लागू अतिरिक्त इनलाइन CSS, जैसे "outline: 2px dashed red"।
- केवल-पठनीय: true
- browser_resume
- शीर्षक: रुकी हुई स्क्रिप्ट निष्पादन फिर से शुरू करें
- विवरण: रुकने के बाद स्क्रिप्ट निष्पादन फिर से शुरू करें। जब step को true पर सेट करके कॉल किया जाता है, तो अगली क्रिया से पहले निष्पादन फिर से रुक जाएगा।
- पैरामीटर:
step(बूलियन, वैकल्पिक): true होने पर, अगली क्रिया से पहले निष्पादन फिर से रुक जाएगा, जिससे चरण-दर-चरण डिबगिंग संभव होगी।location(स्ट्रिंग, वैकल्पिक): एक विशिष्ट : पर निष्पादन रोकें, जैसे "example.spec.ts:42"।
- केवल-पठनीय: false
- browser_start_recording
- शीर्षक: उपयोगकर्ता क्रियाओं की रिकॉर्डिंग शुरू करें
- विवरण: ब्राउज़र में उपयोगकर्ता द्वारा किए गए कार्यों को Playwright कोड के रूप में रिकॉर्ड करना शुरू करें। इसका उपयोग तब करें जब उपयोगकर्ता मैन्युअल रूप से एक प्रवाह प्रदर्शित करना चाहता है। रिकॉर्ड की गई क्रियाओं को पुनः प्राप्त करने के लिए जब उपयोगकर्ता कहता है कि वे समाप्त हो गए हैं तो browser_stop_recording को कॉल करें।
- पैरामीटर: कोई नहीं
- केवल-पठनीय: true
- browser_start_tracing
- शीर्षक: ट्रेसिंग शुरू करें
- विवरण: ट्रेस रिकॉर्डिंग शुरू करें
- पैरामीटर: कोई नहीं
- केवल-पठनीय: true
- browser_start_video
- शीर्षक: वीडियो शुरू करें
- विवरण: वीडियो रिकॉर्डिंग शुरू करें
- पैरामीटर:
filename(स्ट्रिंग, वैकल्पिक): वीडियो सहेजने के लिए फ़ाइल नाम।size(ऑब्जेक्ट, वैकल्पिक): वीडियो आकार
- केवल-पठनीय: true
- browser_stop_recording
- शीर्षक: उपयोगकर्ता क्रियाओं की रिकॉर्डिंग रोकें
- विवरण: browser_start_recording के साथ शुरू की गई रिकॉर्डिंग रोकें और रिकॉर्ड की गई क्रियाओं को Playwright कोड के रूप में लौटाएं।
- पैरामीटर: कोई नहीं
- केवल-पठनीय: true
- browser_stop_tracing
- शीर्षक: ट्रेसिंग रोकें
- विवरण: ट्रेस रिकॉर्डिंग रोकें
- पैरामीटर: कोई नहीं
- केवल-पठनीय: true
- browser_stop_video
- शीर्षक: वीडियो रोकें
- विवरण: वीडियो रिकॉर्डिंग रोकें
- पैरामीटर: कोई नहीं
- केवल-पठनीय: true
- browser_video_chapter
- शीर्षक: वीडियो अध्याय
- विवरण: वीडियो रिकॉर्डिंग में एक अध्याय मार्कर जोड़ें। धुंधली पृष्ठभूमि के साथ एक पूर्ण-स्क्रीन अध्याय कार्ड दिखाता है।
- पैरामीटर:
title(स्ट्रिंग): अध्याय शीर्षकdescription(स्ट्रिंग, वैकल्पिक): अध्याय विवरणduration(संख्या, वैकल्पिक): अध्याय कार्ड दिखाने के लिए मिलीसेकंड में अवधि
- केवल-पठनीय: true
- browser_video_hide_actions
- शीर्षक: क्रिया ओवरले छिपाएं
- विवरण: पृष्ठ पर किए गए कार्यों को एनोटेट करना बंद करें।
- पैरामीटर: कोई नहीं
- केवल-पठनीय: true
- browser_video_show_actions
- शीर्षक: एक्शन ओवरले दिखाएँ
- विवरण: पृष्ठ पर किए गए बाद के एक्शनों को एक कॉलआउट के साथ एनोटेट करें जो एक्शन का नाम बताता है और लक्ष्य तत्व को हाइलाइट करता है। वीडियो रिकॉर्डिंग या स्क्रीनकास्टिंग के दौरान उपयोगी।
- पैरामीटर:
duration(संख्या, वैकल्पिक): प्रत्येक एक्शन एनोटेशन स्क्रीन पर कितने समय तक रहता है, मिलीसेकंड में। डिफ़ॉल्ट 500 है।position(स्ट्रिंग, वैकल्पिक): पृष्ठ के सापेक्ष एक्शन शीर्षक कहाँ रखा जाए। डिफ़ॉल्ट ऊपर-दाएँ है।cursor(स्ट्रिंग, वैकल्पिक): पॉइंटर एक्शन के लिए कर्सर सजावट। "pointer" (डिफ़ॉल्ट) पिछले एक्शन बिंदु से अगले तक माउस पॉइंटर को एनिमेट करता है; "none" कर्सर सजावट को अक्षम करता है।
- केवल-पठनीय: true
समन्वय-आधारित (ऑप्ट-इन via --caps=vision)
- browser_mouse_click_xy
- शीर्षक: क्लिक करें
- विवरण: दिए गए स्थान पर माउस बटन क्लिक करें
- पैरामीटर:
x(संख्या): X समन्वयy(संख्या): Y समन्वयbutton(स्ट्रिंग, वैकल्पिक): क्लिक करने के लिए बटन, डिफ़ॉल्ट बायाँ हैclickCount(संख्या, वैकल्पिक): क्लिक की संख्या, डिफ़ॉल्ट 1 हैdelay(संख्या, वैकल्पिक): माउस डाउन और माउस अप के बीच प्रतीक्षा समय मिलीसेकंड में, डिफ़ॉल्ट 0 है
- केवल-पठनीय: false
- browser_mouse_down
- शीर्षक: माउस दबाएँ
- विवरण: माउस दबाएँ
- पैरामीटर:
button(स्ट्रिंग, वैकल्पिक): दबाने के लिए बटन, डिफ़ॉल्ट बायाँ है
- केवल-पठनीय: false
- browser_mouse_drag_xy
- शीर्षक: माउस खींचें
- विवरण: बाएँ माउस बटन को दिए गए स्थान पर खींचें
- पैरामीटर:
startX(संख्या): प्रारंभ X समन्वयstartY(संख्या): प्रारंभ Y समन्वयendX(संख्या): अंत X समन्वयendY(संख्या): अंत Y समन्वय
- केवल-पठनीय: false
- browser_mouse_move_xy
- शीर्षक: माउस ले जाएँ
- विवरण: माउस को दिए गए स्थान पर ले जाएँ
- पैरामीटर:
x(संख्या): X समन्वयy(संख्या): Y समन्वय
- केवल-पठनीय: false
- browser_mouse_up
- शीर्षक: माउस छोड़ें
- विवरण: माउस छोड़ें
- पैरामीटर:
button(स्ट्रिंग, वैकल्पिक): छोड़ने के लिए बटन, डिफ़ॉल्ट बायाँ है
- केवल-पठनीय: false
- browser_mouse_wheel
- शीर्षक: माउस व्हील स्क्रॉल करें
- विवरण: माउस व्हील स्क्रॉल करें
- पैरामीटर:
deltaX(संख्या): X डेल्टाdeltaY(संख्या): Y डेल्टा
- केवल-पठनीय: false
PDF निर्माण (ऑप्ट-इन via --caps=pdf)
- browser_pdf_save
- शीर्षक: PDF के रूप में सहेजें
- विवरण: पृष्ठ को PDF के रूप में सहेजें
- पैरामीटर:
filename(स्ट्रिंग, वैकल्पिक): PDF सहेजने के लिए फ़ाइल नाम। यदि निर्दिष्ट नहीं है तो डिफ़ॉल्टpage-{timestamp}.pdfहै। आउटपुट निर्देशिका के भीतर रहने के लिए सापेक्ष फ़ाइल नाम पसंद करें।
- केवल-पठनीय: true
परीक्षण अभिकथन (ऑप्ट-इन via --caps=testing)
- browser_generate_locator
- शीर्षक: तत्व के लिए लोकेटर बनाएँ
- विवरण: परीक्षणों में उपयोग के लिए दिए गए तत्व का लोकेटर उत्पन्न करें
- पैरामीटर:
element(स्ट्रिंग, वैकल्पिक): तत्व के साथ इंटरैक्ट करने की अनुमति प्राप्त करने के लिए उपयोग की जाने वाली मानव-पठनीय तत्व विवरणtarget(स्ट्रिंग): पृष्ठ स्नैपशॉट से सटीक लक्ष्य तत्व संदर्भ, या एक अद्वितीय तत्व चयनकर्ता
- केवल-पठनीय: true
- browser_verify_element_visible
- शीर्षक: तत्व दृश्यमान सत्यापित करें
- विवरण: सत्यापित करें कि तत्व पृष्ठ पर दृश्यमान है
- पैरामीटर:
role(स्ट्रिंग): तत्व की ROLE। स्नैपशॉट में इस तरह पाई जा सकती है:- {ROLE} "Accessible Name":accessibleName(स्ट्रिंग): तत्व का ACCESSIBLE_NAME। स्नैपशॉट में इस तरह पाया जा सकता है:- role "{ACCESSIBLE_NAME}"
- केवल-पठनीय: false
- browser_verify_list_visible
- शीर्षक: सूची दृश्यमान सत्यापित करें
- विवरण: सत्यापित करें कि सूची पृष्ठ पर दृश्यमान है
- पैरामीटर:
element(स्ट्रिंग): मानव-पठनीय सूची विवरणtarget(स्ट्रिंग): सटीक लक्ष्य तत्व संदर्भ जो सूची की ओर इंगित करता हैitems(सरणी): सत्यापित करने के लिए आइटम
- केवल-पठनीय: false
- browser_verify_text_visible
- शीर्षक: पाठ दृश्यमान सत्यापित करें
- विवरण: सत्यापित करें कि पाठ पृष्ठ पर दृश्यमान है। यदि संभव हो तो browser_verify_element_visible को प्राथमिकता दें।
- पैरामीटर:
text(स्ट्रिंग): सत्यापित करने के लिए TEXT। स्नैपशॉट में इस तरह पाया जा सकता है:- role "Accessible Name": {TEXT}या इस तरह:- text: {TEXT}
- केवल-पठनीय: false
- browser_verify_value
- शीर्षक: मान सत्यापित करें
- विवरण: तत्व मान सत्यापित करें
- पैरामीटर:
type(स्ट्रिंग): तत्व का प्रकारelement(स्ट्रिंग): मानव-पठनीय तत्व विवरणtarget(स्ट्रिंग): पृष्ठ स्नैपशॉट से सटीक लक्ष्य तत्व संदर्भvalue(स्ट्रिंग): सत्यापित करने के लिए मान। चेकबॉक्स के लिए, "true" या "false" का उपयोग करें।
- केवल-पठनीय: false