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

DaysOfCode का दिन

2024-10-31 को प्रकाशित
ब्राउज़ करें:489

Day of DaysOfCode

अरे! अंतिम प्रविष्टि के बाद से काफी समय हो गया है।
हाल ही में, मैं एक लूप के भीतर तत्व संदर्भ खोने से संबंधित एक समस्या से निपट रहा हूं, और अंततः मुझे एक समाधान मिला जिसे मैं आप सभी के साथ साझा करना चाहता हूं।

मैं क्या हासिल करना चाहता था

  • किसी विशिष्ट वेबपेज पर बटन तत्व एकत्रित करें।
  • दूसरे पृष्ठ पर जाने के लिए प्रत्येक बटन पर क्लिक करें।
  • नए पृष्ठ पर कुछ क्रियाएं करने के बाद, पहले पृष्ठ पर वापस जाएं।
  • चरण 2 और 3 को तब तक दोहराएँ जब तक कि सभी बटन क्लिक न हो जाएँ।

यहां प्रारंभिक कोड का एक सरलीकृत संस्करण है:

const someElements = await page.$$("xpath/ .//foo[@name='hoge']");

for (let i=0; i 



मुझे किस त्रुटि का सामना करना पड़ा

फर्स्ट लूप पुनरावृत्ति के बाद, स्क्रिप्ट बटन तत्वों का पता लगाने में सक्षम नहीं थी। मुझे निम्नलिखित त्रुटि मिलती रही:
प्रोटोकॉलत्रुटि: प्रोटोकॉल त्रुटि (DOM.describeNode):

पर निर्दिष्ट आईडी के साथ संदर्भ नहीं मिल सका

मैंने इसे कैसे हल किया

मैंने लूप के भीतर बटन तत्वों की सूची को फिर से घोषित करके इस समस्या का समाधान किया।
यहां संशोधित कोड है:

const someElements1 = await page.$$("xpath/ .//foo[@name='hoge']");

for (let i=0; i 



मैंने पुनः घोषणा पंक्ति जोड़ी क्योंकि मैंने मान लिया था कि प्रारंभिक पृष्ठ से दूर जाने पर मूल someElements संदर्भ खो रहा था। इस परिवर्तन के बाद त्रुटि का समाधान हो गया। हालाँकि, मुझे यकीन नहीं है कि यह दृष्टिकोण सर्वोत्तम कोडिंग प्रथाओं का कड़ाई से पालन करता है।

यदि पृष्ठों के बीच नेविगेट करते समय आपको लूप में .click() के साथ कोई समस्या आती है, तो लूप के भीतर ही तत्व को फिर से घोषित करने पर विचार करें। यह साधारण परिवर्तन आपका काफी समस्या निवारण समय बचा सकता है!

विज्ञप्ति वक्तव्य इस लेख को पुन: प्रस्तुत किया गया है: https://dev.to/koichiarai/day-23-of-100daysofcode-2opg?
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3