"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > सेलेनियम में "बासी तत्व संदर्भ" अपवादों को कैसे संभालें?

सेलेनियम में "बासी तत्व संदर्भ" अपवादों को कैसे संभालें?

2024-11-09 को प्रकाशित
ब्राउज़ करें:229

How to Handle

पुराना तत्व संदर्भ: कारण का खुलासा करना और समाधान ढूंढना

सेलेनियम में, "बासी तत्व संदर्भ" अपवाद का सामना करना निराशाजनक हो सकता है, क्योंकि यह इंगित करता है कि संदर्भित तत्व अब पृष्ठ दस्तावेज़ से जुड़ा नहीं है। यह त्रुटि अक्सर तब होती है जब DOM में महत्वपूर्ण परिवर्तन हुए हैं, जैसे डायनामिक लोडिंग या पेज नेविगेशन।

इस समस्या को हल करने के लिए, कोड की सटीक लाइन की पहचान करना महत्वपूर्ण है जो अपवाद को ट्रिगर करता है। दिए गए कोड में, त्रुटि के लिए ज़िम्मेदार पंक्ति इस प्रकार प्रतीत होती है:

driver.findElement(By.xpath(String.format(BenefitStatLi, i))).click();

यह पंक्ति स्वरूपित XPath स्ट्रिंग के आधार पर एक तत्व पर क्लिक करने का प्रयास करती है। हालाँकि, क्लिक निष्पादित होने तक अंतर्निहित तत्व को हटा दिया गया या संशोधित किया जा सकता है, जिससे पुराना तत्व संदर्भ अपवाद हो सकता है।

इस समस्या का अंतर्निहित कारण यह है कि कोड निष्पादित होने पर DOM स्थिर नहीं होता है . इसे संबोधित करने के लिए, कोई एक पुनः प्रयास तंत्र को लागू करने पर विचार कर सकता है जो तत्व पर क्लिक करने से पहले उसके दोबारा उपलब्ध होने की प्रतीक्षा करता है। इस तरह के पुनः प्रयास का एक उदाहरण यहां दिया गया है:

try {
    // Attempt to click on the element
    driver.findElement(By.xpath(String.format(BenefitStatLi, i))).click();
} catch (org.openqa.selenium.StaleElementReferenceException ex) {
    // Element is not yet available, so wait and try again
    Thread.sleep(200); // Replace with appropriate wait time
    driver.findElement(By.xpath(String.format(BenefitStatLi, i))).click();
}

क्लिक का पुनः प्रयास करने से पहले प्रतीक्षा समय शुरू करके, कोड DOM को स्थिर होने के लिए पर्याप्त समय देता है और यह सुनिश्चित करता है कि आगे बढ़ने से पहले तत्व मौजूद है और क्लिक करने योग्य है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3