0
votes

3 Réponses :


1
votes

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>


2 commentaires

Pensez-vous qu'il suffira de supprimer simplement l'attribut caché ?


Il pourrait être possible que le code le fasse automatiquement lorsque vous effectuez les étapes pour trouver le pays manuellement.



1
votes

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: XXX


1 commentaires

Element ... n'est pas cliquable au point (554, 363). Un autre élément recevrait le clic:

  • ...



  • 1
    votes

    Les localisateurs mieux utiliser ci-dessous. Pour sélectionner au pays fort> déroulant. Parfois, de Pays Strort> Dropdown est également sélectionnable, c'est pourquoi vous pouvez trouver le code ci-dessous pour obtenir la dernière liste déroulante.

    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()
    


    0 commentaires