प्लेराइट ऑटोमैटिक टेस्ट कॉमन पॉकेट: यह 3 त्रुटियां पलटने में सबसे आसान हैं।
प्लेराइट ऑटोमैटिक टेस्ट कॉमन पॉकेट: यह 3 त्रुटियां पलटने में सबसे आसान हैं।
Playwright एक आधुनिक ब्राउज़र स्वचालन उपकरण है, लेकिन बहुत से लोग इस प्रक्रिया में कदम रखते हैं। और आज मैं तीन सबसे आम गलतियों को बाहर निकालने जा रहा हूं, और मैं आपको गड्ढे से बचने में मदद करने जा रहा हूं।
त्रुटि 1: तत्व लोडिंग के लिए इंतजार किए बिना ऑपरेशन
यह सबसे आम गड्ढे है। बहुत से लोग कोड लिखते हैं जो ठीक दिखते हैं, लेकिन उन्हें गलत तरीके से चलाते हैं:element not foundमुझे नहीं पता।
गलत:
await page.click("#submit-btn");
समस्या यह है कि पृष्ठ लोड नहीं किया जा सकता है और बटन मौजूद नहीं है।
सही अभ्यास:
await page.waitForSelector("#submit-btn");
await page.click("#submit-btn");
या अधिक आधुनिक तरीके से:
await page.locator("#submit-btn").click();
प्लेराइट का लोकेटर स्वचालित रूप से तत्वों के लिए बातचीत करने का इंतजार करता है, जो सेलेनियम पर एक प्रमुख लाभ है।
त्रुटि 2: गतिशील लोडिंग के लिए प्रतीक्षा करना
कई वेबसाइटें गतिशील रूप से सामग्री प्रदान करने के लिए जावास्क्रिप्ट का उपयोग करती हैं। आपकी स्क्रिप्ट सामग्री लोड होने से पहले डेटा निकालने शुरू हो सकती है।
गलत:
await page.goto("https://example.com");
const text = await page.textContent(".dynamic-content");
console.log(text); // 可能是 null 或空字符串
सही अभ्यास:
await page.goto("https://example.com");
await page.waitForLoadState("networkidle");
const text = await page.textContent(".dynamic-content");
console.log(text);
या विशिष्ट तत्वों के लिए:
await page.locator(".dynamic-content").waitFor({ state: "visible" });
const text = await page.textContent(".dynamic-content");
त्रुटि 3: ब्राउज़र के संदर्भ और पृष्ठ जीवन चक्र को सही ढंग से संसाधित नहीं किया गया था
कई लोग ब्राउज़र उदाहरण बनाते हैं और उन्हें बंद करने के लिए भूल जाते हैं, जिससे स्मृति रिसाव होता है। या गलत समय पर ब्राउज़र को बंद कर दिया, जिससे स्क्रिप्ट पतन हो जाती है।
गलत:
const browser = await chromium.launch();
const page = await browser.newPage();
await page.goto("https://example.com");
// 忘记关闭浏览器
सही अभ्यास:
const browser = await chromium.launch();
try {
const page = await browser.newPage();
await page.goto("https://example.com");
// 你的操作
} finally {
await browser.close();
}
या अधिक सुरुचिपूर्ण तरीके से:
const browser = await chromium.launch();
const context = await browser.newContext();
const page = await context.newPage();
try {
await page.goto("https://example.com");
// 你的操作
} finally {
await context.close();
await browser.close();
}
सारांश
प्लेराइट का मूल हैवेटऔरजीवन चक्र प्रबंधनमुझे नहीं पता। इन तीन बिंदुओं को याद रखें:
- जब तक तत्वों को लोड नहीं किया जाता तब तक हमेशा प्रतीक्षा करें
- गतिशील सामग्री को देखने की जरूरत है।
- ब्राउज़र और संदर्भ को बंद करना
इस तरह, 99% सामान्य गलतियों से बचा जा सकता है।