Я выполнил ваш тест, добавив несколько настроек, и запустил тест следующим образом:
Блок кода:
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
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:\WebDrivers\chromedriver.exe')
driver.get('https://www.nseindia.com/companies-listing/corporate-filings-actions')
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[@id='Corporate_Actions_equity']//input[@placeholder='Company Name or Symbol']"))).send_keys("Reliance")
Наблюдение: Подобно вашему наблюдению, я наткнулся на то же препятствие, но без результатов:
Deep Dive
Кажется, что click()
в элементе с текстом как Get Data действительно происходит. Но при просмотре DOM Tree веб-страницы вы обнаружите, что некоторые из тегов <script>
относятся к JavaScripts с ключевым словом akam . В качестве примера:
<script type="text/javascript" src="https://www.nseindia.com/akam/11/3b383b75" defer=""></script>
<noscript><img src="https://www.nseindia.com/akam/11/pixel_3b383b75?a=dD02ZDMxODU2ODk2YTYwODA4M2JlOTlmOGNkZTY3Njg4ZWRmZjE4YmMwJmpzPW9mZg==" style="visibility: hidden; position: absolute; left: -999px; top: -999px;" /></noscript>
Это явный признак того, что веб-сайт защищен Менеджер ботов расширенная служба обнаружения ботов, предоставляемая Akamai , и ответ получает заблокирован .
Менеджер ботов
По статье Менеджер ботов - Основы :
Заключение
Итак можно сделать вывод, что запрос данных обнаружен как выполняемый Selenium управляемым WebDriver экземпляром, и ответ заблокирован.
Ссылки
Пара документов:
тл; dr
Пара соответствующих обсуждений: