3 Réponses :
L'exception est soulevée car votre code est capable de trouver l'élément dans le DOM mais l'élément n'est pas visible sur la page. De plus, le parent div code> de la
étend code> contient un attribut appelé
masqué code>. Voici la structure DOM
<div hidden="">
<div class="f1g5w0oh">
<div class="rm-container">
<div class="rm-row">
<div class="rm-col-sm-12 order-sm-last">
<div class="f1o6pohl">
<h5 class="foyw123">Send Money To</h5>
<div class="rm-row fywghj7">
<div class="rm-col-md-6 rm-col-lg-4 fhdzg5g">
<div class="rm-col-md-6 rm-col-lg-4 fhdzg5g">
<div class="rm-col-md-6 rm-col-lg-4 fhdzg5g">
<div class="rm-col-md-6 rm-col-lg-4 fhdzg5g">
<div class="rm-col-md-6 rm-col-lg-4 fhdzg5g">
<div class="rm-col-md-6 rm-col-lg-4 fhdzg5g">
<div class="rm-col-md-6 rm-col-lg-4 fhdzg5g">
<div>
<a class="f12qs1j9" href="/us/en/colombia">
<span>
<img class="md_flag_ffypto0" src="https://media.remitly.io/COL_32x21@2x-471f08f81b303eb2d3ac61da0909673f.png" alt="Colombia"/>
<span class="md_countryName_fdxiah8">Colombia</span>
</span>
Pensez-vous qu'il suffira de supprimer simplement l'attribut code> caché code>?
Il pourrait être possible que le code le fasse automatiquement lorsque vous effectuez les étapes pour trouver le pays manuellement.
Pour le mieux, vous devez faire défiler au bas de la page, puis cliquez sur Pays de sélection, puis cliquez sur Vous Country Woest, essayez ceci:
Element ... span> n'est pas cliquable au point (554, 363). Un autre élément recevrait le clic:
Les localisateurs mieux utiliser ci-dessous. Pour sélectionner 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
driver = webdriver.Chrome()
wait = WebDriverWait(driver, 5)
# get all dropdown elements
select_a_countries = wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, "img[alt='Open']")))
# filter by visibility
select_a_countries = list(filter(lambda x: x.is_displayed(), select_a_countries))
# we need last one
country_to = select_a_countries[-1]
country_to.click()
# get country we need by alt attribute, should be parameterized
country = driver.find_element_by_css_selector("img[alt='Mexico']")
# scroll to and click
# same as JavaScript: driver.execute_script("arguments[0].scrollIntoView(true);", country)
country.location_once_scrolled_into_view
country.click()