Ich schreibe ein Python-Skript mit Selen-Webdriver, um Daten von einer Website zu erhalten, und Ich versuche, klicken Sie auf die nächste Schaltfläche in this Webseite. Wo die Taste definiert:Python Selen mit Phantomjs - Klicken fehlgeschlagen: ReferenceError: Kann keine Variable finden
<a id="ctl00_FullRegion_npsGridView_lnkNext" class="nextCol" href="javascript:__doPostBack('ctl00$FullRegion$npsGridView$lnkNext','')">Next</a>
Wih den folgenden Code in Python
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()
Dieses gut funktioniert, wenn Firefox oder Chrom WebDriver verwenden, aber mit PhantomJS ich folgende Fehlermeldung erhalten.
selenium.common.exceptions.WebDriverException: Message: u'Error Message => \'Click
failed: ReferenceError: Can\'t find variable: __doPostBack\'\n caused by Request
Dieser Fehler kommt in einer Menge von Google-Suchanfrage, aber havnt gefunden wirklich eine Möglichkeit, es zu beheben, wenn PhantomJS verwenden.
Von diesem [SO Frage] (http://stackoverflow.com/questions/16863773/python-selenium-javascript-link-click-fails- ausführen). Versuchen Sie stattdessen, die "submit" -Methode aufzurufen und lassen Sie es mich wissen. – Rohit
hat dies bereits versucht. trotzdem danke. submit gab keinen Fehler aus, ließ aber die gesamte html-Tabelle leer. –