Я пытаюсь продолжать нажимать на следующую страницу на этом веб-сайте , каждый раз добавляя данные таблицы в CSV-файл, а затем, когда я достигаю последней страницы, добавляю данные таблицы и прерываю цикл while.
К сожалению, по какой-то причине он продолжает оставаться на последней странице, и я попробовал несколько разных способов отловить ошибку
while True:
try :
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.LINK_TEXT, 'Next'))).click()
except :
print("No more pages left")
break
driver.quit()
Я тоже попробовал это:
try:
link = wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR,'.pagination-next a')))
driver.execute_script('arguments[0].scrollIntoView();', link)
link.click()
except:
keep_going = False
Я пытался вставить операторы print, и он просто остается на последней странице.
Вот HTML-код для первой / последней страницы для следующей кнопки, я не уверен, что смог бы что-то сделать, используя это:
HTML для первой страницы:
<li role="menuitem" ng-if="::directionLinks" ng-class="{disabled: noNext()||ngDisabled}" class="pagination-next" style=""><a href="" ng-click="selectPage(page + 1, $event)" ng-disabled="noNext()||ngDisabled" uib-tabindex-toggle="">Next</a></li>
<a href="" ng-click="selectPage(page + 1, $event)" ng-disabled="noNext()||ngDisabled" uib-tabindex-toggle="">Next</a>
</li>
HTML для последней страницы:
<li role="menuitem" ng-if="::directionLinks" ng-class="{disabled: noNext()||ngDisabled}" class="pagination-next disabled" style=""><a href="" ng-click="selectPage(page + 1, $event)" ng-disabled="noNext()||ngDisabled" uib-tabindex-toggle="" disabled="disabled" tabindex="-1">Next</a></li>
<a href="" ng-click="selectPage(page + 1, $event)" ng-disabled="noNext()||ngDisabled" uib-tabindex-toggle="" disabled="disabled" tabindex="-1">Next</a>
</li>