javascript - What to do when a selector doesn't show the expected text? -


मेरे पास निम्न HTML फ़ाइल है <पूर्व> & lt; tr & gt; & Lt; th वर्ग = 'वर्ग 1' & gt; & Lt; / वें & gt; & Lt; td वर्ग = 'मूल्य' आईडी = 'सेल -1234' & gt; $ 100 & lt; / td & gt; & Lt; / टीआर & gt;

मैं कैस्पर जे एस का उपयोग करके क्लास की कीमत का टेक्स्ट प्राप्त करने की कोशिश कर रहा हूं। मैं आईडी का उपयोग नहीं कर सकता क्योंकि यह हर चलन के साथ बदलता रहता है।

नीचे दिए गए कोड का उपयोग करके मुझे एक रिक्त पंक्ति मिलती है मुझे यकीन नहीं है कि कौन सा समारोह मुझे पाठ प्राप्त करेगा

  casper.then (फ़ंक्शन () {console.log (this.fetchText ('। मूल्य'));});   

त्रुटि खोजने के लिए मैं क्या कर सकता हूं?

HTML ठीक दिखता है और चयनकर्ता को मैच करना चाहिए। कई चीजें हैं जो आपको करना चाहिए:

  • जांचें कि आप सही पृष्ठ पर हैं, उदाहरण के लिए मुद्रण casper.getTitle () < Li> जांचें कि वह तत्व जो आप को चुनना चाहते हैं वास्तव में पृष्ठ में मौजूद है। यह विशेष रूप से एकल पृष्ठ एप्लिकेशन या सरल AJAX बढ़ाए गए वेब ऐप्स के लिए प्रासंगिक है यह या तो पूरे पेज की सामग्री casper.getHTML () या पृष्ठ का एक छोटा सा हिस्सा छपाई कर सकता है casper.getHTML ("div.something") जिसमें शामिल है सवाल में तत्व इसे ठीक करने के लिए, आप casper.wait * का उपयोग कर सकते हैं।
  • जांचें कि आप जिस तत्व को चुनना चाहते हैं वह वास्तव में पृष्ठ में हो सकता है। कभी-कभी वेब साइट उपयोगकर्ता एजेंट स्ट्रिंग के आधार पर अलग-अलग पृष्ठों को वितरित करते हैं और व्यूपोर्ट आकार के कारण लेआउट बदलते हैं (PhantomJS के लिए डिफ़ॉल्ट ~ 400x320 है)। डेस्कटॉप ब्राउज़र पर आधारित चयनकर्ता लेखन करते समय आपको इसे ध्यान में रखना चाहिए।

Comments

Popular posts from this blog

php - PDO bindParam() fatal error -

php - How can I cram 6+31 numeric characters into 22 alphanumeric characters? -

mysql - where clause in inner join query -