मैं वेबसाइट से कुछ डेटा प्राप्त करने के लिए सेलेनियम वेबड्राइवर का उपयोग करके एक पायथन लिपि लिख रहा हूं, और मैं this वेबपृष्ठ में अगले बटन पर क्लिक करने का प्रयास कर रहा हूं। कहाँ बटन परिभाषित किया गया है:Phantomjs के साथ पायथन सेलेनियम - क्लिक विफल: संदर्भ त्रुटि: वेरिएबल नहीं मिला
<a id="ctl00_FullRegion_npsGridView_lnkNext" class="nextCol" href="javascript:__doPostBack('ctl00$FullRegion$npsGridView$lnkNext','')">Next</a>
निम्नलिखित कोड wih अजगर
URL='http://www.nordpoolspot.com/Market-data1/Elspot/Area-Prices/ALL1/Hourly/'
nextId="ctl00_FullRegion_npsGridView_lnkNext"
browser=webdriver.PhantomJS('./phantomjs')
browser.get(URL)
nextBtn=browser.find_element_by_id(nextId)
time.sleep(5)
nextBtn.click()
यह अच्छी तरह से काम करता है जब Firefox या क्रोम Webdriver का उपयोग करने में लेकिन Phantomjs साथ मैं निम्नलिखित त्रुटि मिलती है।
selenium.common.exceptions.WebDriverException: Message: u'Error Message => \'Click
failed: ReferenceError: Can\'t find variable: __doPostBack\'\n caused by Request
यह त्रुटि Google खोजों में बहुत कुछ आती है लेकिन वास्तव में phantomjs का उपयोग करते समय इसे ठीक करने का तरीका नहीं मिला है।
इस [तो सवाल] से (http://stackoverflow.com/questions/16863773/python-selenium-javascript-link-click-fails- निष्पादन हेतु)। इसके बजाय 'सबमिट' विधि को कॉल करने का प्रयास करें और मुझे बताएं? – Rohit
पहले ही यह कोशिश कर रहा है। हालांकि धन्यवाद। सबमिट ने कोई त्रुटि नहीं दी, लेकिन पूरी HTML तालिका को खाली छोड़ दिया। –