Я думаю, что селен может быть излишним для этого сайта. Вы можете использовать запросы для имитации пост-запроса , выполняемого страницей (URL-адрес и параметры для этого можно найти на вкладке сети в инструменте проверки в большинстве браузеров). Вы можете увидеть данные формы здесь.
Это даст вам текст ответа. Затем вы можете использовать BeautifulSoup или pandas (или и то и другое), чтобы получить нужные данные.
import requests
from bs4 import BeautifulSoup
import pandas as pd
reg_no=12345
payload={
'Name':'',
'RegNo':reg_no,
'FormsButton1': 'Submit'
}
r=requests.post('http://www.mpmedicalcouncil.net/smr_database_search_result.asp',data=payload)
soup=BeautifulSoup(r.text,'html.parser')
data_table=soup.find('table',attrs={'width':590})
print(pd.read_html(str(data_table))[0])
выход
0 1 2 ... 5 6 7
0 Sr. No. Council Name ... Registration No. Qualification Year of Reg.
1 1 Madhya Pradesh Medical Council Gawali Deepak ... 12345 MBBS 2011
2 2 Medical Council Bhopal Maheshwari, Shyam Sunder ... 12345 MBBS 1993
[3 rows x 8 columns]
Редактировать: несколько регистрационных номеров и получение вывода в списке списка
import requests
from bs4 import BeautifulSoup
import pandas as pd
reg_no_list=[12345,2345]
all_results=[]
for reg_no in reg_no_list:
payload={
'Name':'',
'RegNo':reg_no,
'FormsButton1': 'Submit'
}
r=requests.post('http://www.mpmedicalcouncil.net/smr_database_search_result.asp',data=payload)
soup=BeautifulSoup(r.text,'html.parser')
data_table=soup.find('table',attrs={'width':590})
df=pd.read_html(str(data_table))[0]
df_to_list= df.drop(df.columns[0], axis=1).values.tolist()#sr..no column not required
all_results.extend(df_to_list[1:])#[1:] b'coz first item in list will be headers
for l in all_results:
print(l)
выход
['Madhya Pradesh Medical Council', 'Gawali Deepak', 'Mr. Gajendra Singh Gawali', '19- New Five Brigade, Complex, Agar Road, Ujjain (MP) 456007', '12345', 'MBBS', '2011']
['Medical Council Bhopal', 'Maheshwari, Shyam Sunder', 'R.C. Maheshwari', 'Cement Road, At Post. Piparia DIt. Hoshangabad', '12345', 'MBBS', '1993']
['Mahakoshal Medical Council, Indore', 'Aterkar Ku Sunanda', 'Puushottam Rao Aterkar', 'Near Y Sadashiv Studio Jayendra Ganj Gwalior', '2345', 'MBBS', '1969']
['Medical Council Bhopal', 'Deljeet Singh Kindra', 'Shri jogendra Singh Kindra', 'C/o Shri J.S. Kindra Near Jhansigate, Bina DIt. Sagar', '2345', 'MBBS', '1979']
['Madhya Pradesh Medical Council', 'Gupta Shyam Sunder', 'Shri Ramesh Chand', 'C/o Parmand Medical Store Sheopur Kalan 476337', '2345', 'MBBS', '1999']