我正在使用 selenium webdriver 编写一个 python 脚本以从网站获取一些数据,并且我试图单击此网页中的下一步按钮。定义按钮的位置:
<a id="ctl00_FullRegion_npsGridView_lnkNext" class="nextCol" href="javascript:__doPostBack('ctl00$FullRegion$npsGridView$lnkNext','')">Next</a>
在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()
这在使用 Firefox 或 chrome Webdriver 时效果很好,但使用 Phantomjs 我得到以下错误。
selenium.common.exceptions.WebDriverException: Message: u'Error Message => \'Click
failed: ReferenceError: Can\'t find variable: __doPostBack\'\n caused by Request
这个错误出现在很多谷歌搜索中,但在使用 phantomjs 时确实找到了修复它的方法。