Edit1 [Я недавно пытался явно щелкнуть по кнопке, это показывает, что кнопка нажимается, скорее, рамка таблицы не загружается]
это сценарий, который я написал для данного URL В блоке try and finally я пробовал разные способы нажатия. Но я, наверное, думаю, что это не кнопка, а какой-то слушатель событий, прикрепленный там. Может ли кто-нибудь помочь мне щелкнуть изображение «Получить данные» и объяснить основные веб-вызовы от HTML до JS Я новичок в этом!
Заранее спасибо
from selenium import webdriver
from selenium.webdriver import Chrome
from selenium.webdriver.support.select import Select
import time
from selenium.webdriver.support.ui import WebDriverWait as wait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
options = webdriver.ChromeOptions()
preferences = {"download.default_directory": "/Users/Iunix/PycharmProjects/untitled/test",
"safebrowsing.enabled": "false"}
options.add_experimental_option("prefs", preferences)
driver = Chrome(executable_path='/Users/Iunix/PycharmProjects/untitled/venv/bin/chromedriver', chrome_options=options)
profile = webdriver.ChromeOptions()
#wait = WebDriverWait(driver,40)
driver.get("https://www1.nseindia.com/products/content/derivatives/equities/historical_fo.htm")
obj = Select(driver.find_element_by_name("instrumentType"))
obj.select_by_index(3)
obj = Select(driver.find_element_by_name("symbol"))
obj.select_by_index(4)
obj = Select(driver.find_element_by_name("year"))
obj.select_by_index(4)
objExpiry = Select(driver.find_element_by_name("expiryDate"))
objExpiry.select_by_index(1)
objOptionType = Select(driver.find_element_by_name("optionType"))
objOptionType.select_by_index(1)
inputStrikePrice = driver.find_element_by_name("strikePrice")
inputStrikePrice.send_keys(31000)
objDate = Select(driver.find_element_by_name("dateRange"))
objDate.select_by_index(4)
try:
#wait(driver,10).until(EC.presence_of_element_located((By.XPATH,'//*[@id="getButton"]')))
wait(driver,10).until(driver.execute_script('document.querySelector("#getButton").click()'))
#driver.find_element_by_css_selector("getButton").click()
#driver.find_element_by_id("getButton").send_keys('\n')
finally:
print(driver.find_element_by_id("getButton"))
print(driver.find_element_by_id("getButton").click())