Эй, приведенный ниже код выполняет свою работу. Но это медленно, так как таблица огромна, и анализ занимает немного времени. Я заметил, что в отчете есть опция экспорта, поэтому попробуйте загрузить его напрямую с помощью Selenium. Да, и для объяснения отчет генерируется как iframe, который отличается от источника страницы по умолчанию, поэтому вам нужно переключиться на этот фрейм, чтобы получить информацию. Дайте мне знать для любого разъяснения. Требуемые данные находятся в переменной df.
# -*- coding: utf-8 -*-
"""
Created on Tue Mar 24 11:08:32 2020
@author: prakh
"""
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from bs4 import BeautifulSoup
import pandas as pd
import time
url = "https://soilhealth.dac.gov.in/NewHomePage/NutriPage"
driver = webdriver.Chrome(executable_path='C:/Users/prakh/Documents/PythonScripts/chromedriver.exe')
driver.get(url)
select = Select(driver.find_element_by_id('NutriCatId'))
select.select_by_visible_text('Sample Wise')
select = Select(driver.find_element_by_id('CycleId'))
select.select_by_visible_text('All Cycle')
select = Select(driver.find_element_by_id('State_Code'))
select.select_by_visible_text('Andaman And Nicobar Islands')
driver.implicitly_wait(5)
select = Select(driver.find_element_by_id('District_Code'))
select.select_by_visible_text('Nicobars')
driver.find_element_by_id('s').click()
driver.implicitly_wait(30)
#soup_level1=BeautifulSoup(driver.page_source, 'lxml')
#src = driver.find_element_by_xpath('//*[@id="report"]/iframe').get_attribute("src")
driver.switch_to.frame(driver.find_element_by_xpath('//*[@id="report"]/iframe'))
time.sleep(10)
html = driver.page_source
df_list = pd.read_html(html)
df = df_list[-3]
driver.quit()