Для перехода на следующую страницу кнопки вы можете использовать класс CSS:
driver.find_element_by_class_name("next_page")
Для очистки используйте BeautifulSoup
и requests
:
import requests
from bs4 import BeautifulSoup
headers = {
'Connection': 'keep-alive',
'Upgrade-Insecure-Requests': '1',
'DNT': '1',
}
params = (
('id', '20412'),
('groupby', 'Election Year'),
('sortdir', 'descending'),
)
response = requests.post('https://www.nae.edu/default.aspx', headers=headers, params=params)
page = BeautifulSoup(response.text, "html.parser")
__VIEWSTATE = page.find(attrs={"id": "__VIEWSTATE"}).attrs["value"]
__VIEWSTATEGENERATOR = page.find(attrs={"id": "__VIEWSTATE"}).attrs["value"]
__EVENTVALIDATION = page.find(attrs={"id": "__EVENTVALIDATION"}).attrs["value"]
last_page = int(page.select_one(".pager-pageddl option:last-child").text)
for i in range(0, last_page - 1):
if i > 0:
__VIEWSTATE = page.find(attrs={"id": "__VIEWSTATE"}).attrs["value"]
__VIEWSTATEGENERATOR = page.find(attrs={"id": "__VIEWSTATE"}).attrs["value"]
__EVENTVALIDATION = page.find(attrs={"id": "__EVENTVALIDATION"}).attrs["value"]
data = {
'__EVENTTARGET': 'ctl07$ctl07$ctl00$MembersList$members$ctl01$ctl21$filterTopPager$lbNext',
'__VIEWSTATE': __VIEWSTATE,
'__VIEWSTATEGENERATOR': __VIEWSTATEGENERATOR,
'__EVENTVALIDATION': __EVENTVALIDATION,
'ctl07$ctl07$ctl00$MembersList$members$ctl01$ctl20$filterTopPager$ddlPageIndex': str(i),
'ctl07$ctl07$ctl00$MembersList$members$ctl01$ctl20$filterTopPager$ddlPageSize': '20',
'ctl07$ctl07$ctl00$MembersList$members$ctl01$ctl21$filterBottomPager$ddlPageIndex': str(i),
'ctl07$ctl07$ctl00$MembersList$members$ctl01$ctl21$filterBottomPager$ddlPageSize': '20'
}
response = requests.post('https://www.nae.edu/default.aspx', headers=headers, params=params, data=data)
page = BeautifulSoup(response.text, "html.parser")
names = page.select(".flexible-list-item .initialState .name")
for name in names:
print(name.text)