from selenium import webdriver
from bs4 import BeautifulSoup as bs
import time
url = 'https://www.mciindia.org/CMS/information-desk/indian-medical-register'
driver = webdriver.Chrome('C:\chromedriver.exe')
driver.get(url)
driver.find_element_by_xpath("//div[@class='col-sm-4']//button[@class='multiselect dropdown-toggle btn btn-default']").click()
driver.find_elements_by_xpath("//label[contains(text(),'2015')]")
driver.find_element_by_xpath("//button[@id='doctor_advance_Details']").click()
soup = bs(driver.page_source, 'html.parser')
table = soup.find('table',{'id':'doct_info5'})
headers = [ header.text.strip() for header in table.find_all('th') ]
next_page = True
while next_page == True:
soup = bs(driver.page_source, 'html.parser')
table = soup.find('table',{'id':'doct_info5'})
try:
rows = table.find_all('tr')
for row in rows:
if len(row.find_all('td')) == 7:
data = row.find_all('td')
name = data[4].text.strip()
root_url = data[6].a['href'].split("'")[1]
id_url = data[6].a['href'].split("'")[3]
link = root_url + 'ViewDetails.aspx?ID=' + id_url
print ('Link: %s' %(link))
except:
pass
time.sleep(5)
try:
driver.find_element_by_xpath("//a[contains(text(),'Next')]").click()
except:
print ('No more pages')
next_page=False
driver.close()
Код, написанный выше, не щелкает по году, используя xpath. Я пытался щелкнуть по указанным c годам, чтобы получить данные. Есть ли другой способ получить данные по вышеуказанной ссылке. Есть ли другой способ, кроме селена вебдрайвер .. мы можем просто извлечь с помощью Beautifulsoup и запросов.