Я взял ваш код, добавил несколько настроек и провел тест следующим образом:
Блок кода:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
options = webdriver.ChromeOptions()
options.add_argument("start-maximized")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
driver = webdriver.Chrome(options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
driver.get('https://www1.nseindia.com/products/content/equities/equities/eq_monthly_statistics.htm')
Select(WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"select#h_filetype")))).select_by_visible_text("Capital Market ")
Select(WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"select#yearField")))).select_by_visible_text("2019-2020")
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input.getdata-button#get[type='image'][src^='/common/images/btn-get-data.gif']"))).click()
Наблюдение
Как и ваши наблюдения, я столкнулся с тем же блокпостом без каких-либо результатов:
![nseindia_Monthly_Statement](https://i.stack.imgur.com/Bpicy.png)
Deep Погружение
Кажется, click()
на элементе с текстом, как Получить данные , действительно происходит. Но при проверке дерева DOM веб-страницы вы обнаружите, что некоторые теги <script>
относятся к JavaScripts с ключевым словом akam, В качестве примера:
<script type="text/javascript" src="https://www1.nseindia.com/akam/11/52349752" defer=""></script>
<noscript><img src="https://www1.nseindia.com/akam/11/pixel_52349752?a=dD01ZDZiMTA5OGQ0MDljYTYxN2RjMjc3MzBlN2YwMDQ0NjlkZDNiNTMzJmpzPW9mZg==" style="visibility: hidden; position: absolute; left: -999px; top: -999px;" /></noscript>
Что является четким свидетельством того, что сайт защищен Bot Manager расширенная служба обнаружения ботов, предоставляемая Akamai , и ответ получает заблокирован .
Bot Manager
Согласно статье Bot Manager - Основы :
![akamai_detection](https://i.stack.imgur.com/DwL3F.png)
Заключение
Таким образом, можно сделать вывод, что запрос данных обнаружен как выполняемый экземпляром Selenium WebDriver и ответ заблокирован.
Ссылки
Несколько документов:
tl; dr
Пара соответствующих обсуждений: