Элемент присутствует внутри iframe. Сначала нужно его переключить.
driver.get("https://www.bbva.es/personas/productos/prestamos/simulador-prestamos-personales.html?cid=sem:br:ggl:spain---consumo-prestamo_personal-open-:br_topperformance_open_ex-consideration:::bbva_prestamos:e:::text::&scp=true&gclid=Cj0KCQjw6sHzBRCbARIsAF8FMpWbbhXlRD8SluBVkA9-qRsuTSNQxn2E6avbmeDVRnb02gs1BnRef30aAtktEALw_wcB")
WebDriverWait(driver,10).until(EC.frame_to_be_available_and_switch_to_it((By.CSS_SELECTOR,"iframe.iframe__base")))
element=WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.XPATH,'//div[@id="advisor"]')))
element.location_once_scrolled_into_view
Вам необходимо импортировать следующие библиотеки.
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
ОБНОВЛЕНИЕ
Вот полный код. Чтобы включить кнопку калькулятора, необходимо ввести значение в текстовом поле суммы. Однако обычный webdriver
щелчок не работает, поэтому используется javascripts executor
.
driver=webdriver.Chrome()
driver.get("https://www.bbva.es/personas/productos/prestamos/simulador-prestamos-personales.html?cid=sem:br:ggl:spain---consumo-prestamo_personal-open-:br_topperformance_open_ex-consideration:::bbva_prestamos:e:::text::&scp=true&gclid=Cj0KCQjw6sHzBRCbARIsAF8FMpWbbhXlRD8SluBVkA9-qRsuTSNQxn2E6avbmeDVRnb02gs1BnRef30aAtktEALw_wcB")
WebDriverWait(driver,10).until(EC.frame_to_be_available_and_switch_to_it((By.CSS_SELECTOR,"iframe.iframe__base")))
element=WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.XPATH,'//div[@id="advisor"]')))
element.location_once_scrolled_into_view
WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.XPATH,'//input[@id="amount"]'))).send_keys("25000")
elemen1=WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.XPATH,"//label[@for='cli-no']/span[text()='No']")))
driver.execute_script("arguments[0].click();", elemen1)
button=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//button[@id='next']")))
driver.execute_script("arguments[0].click();", button)
снимок :