मुझे किसी डोम में सभी जावास्क्रिप्ट आधारित लिंक पर क्लिक करने और आउटपुट को सहेजने में समस्या हो रही है। लिंक निम्न फ़ॉर्म मेंकैस्परजेएस में सभी लिंक का पालन कैसे करें?
<a id="html" href="javascript:void(0);" onclick="goToHtml();">HTML</a>
निम्नलिखित कोड महान काम करता है:
var casper = require('casper').create();
var fs = require('fs');
var firstUrl = 'http://www.testurl.com/test.html';
var css_selector = '#jan_html';
casper.start(firstUrl);
casper.thenClick(css_selector, function(){
console.log("whoop");
});
casper.waitFor(function check() {
return this.getCurrentUrl() != firstUrl;
}, function then() {
console.log(this.getCurrentUrl());
var file_title = this.getTitle().split(' ').join('_') + '.html';
fs.write(file_title, this.getPageContent());
});
casper.run();
हालांकि, मैं कैसे प्राप्त कर सकते हैं इस, "एक" का एक चयनकर्ता के साथ काम करने के लिए सभी उपलब्ध लिंक पर क्लिक करने और सामग्री को बचाने के ? मुझे यकीन नहीं है कि चयनकर्ता से नोड्स को हटाने के लिए क्लिक करने के लिए चयनकर्ता को कैसे प्राप्त किया जाए: Click on all links matching a selector
यह कैसे करता है, तो आप सरणी आप के माध्यम से पाशन कर रहे हैं करने के लिए लिंक जोड़ने के लिए सक्षम होना चाहते हैं पूरा किया जा सकता है क्या है? –
हालांकि यह एक दिलचस्प कार्यान्वयन है जिसे कुछ [इस तरह] के साथ जोड़ा जा सकता है (https://coderwall.com/p/uzaaaw/scrape-site-for-js-errors-with-casper-js) त्रुटियों को स्कैम करने के लिए एक वेबसाइट। मुझे आश्चर्य है कि यह चीज अनंत लूप में फंस जाएगी .. –