Estoy tratando de presionar un elemento <a class="clean" href="url"> con python selenium con la condición de que algunos elementos tengan un cierto valor. Esos elementos son <div data-passendheid="Correct"> con el valor 'Correcto', <path stroke-width="11"> con el valor '11' y span in <span class="js-tooltip"> que contiene el texto 'Disponible'. Lo probé con xpath: driver.find_elements(By.XPATH, "//*[@id='js-top']/div/div/a and [contains(.,'Available')]") Pero no funciona porque los elementos son de diferentes padres e hijos. Si sabe cómo hacerlo con xpath o tiene una solución diferente, hágamelo saber.

No puedo compartir el sitio web porque necesita iniciar sesión, en su lugar, vea la fuente de la página correspondiente:

<div class="box  box--obj  push-left  js-flow-block" data-passendheid="Correct">
  
     <div class="js-animate-fadein" style="">

        <a class="clean" href="url">

            <div class="box__properties  group">      
                      
                <div class="js-tooltip">
                    <div class="timer  js-tooltip__trigger id="js-tooltip__trigger___79833">
                        <span>
                            <svg>
                                <path stroke-width="11" >
                                </path>
                            </svg>
                        </span>
                    </div>
                </div>

                <div class="box--obj__type  ellipsis">          
                    <span class="js-tooltip">
                        <span class="js-tooltip__trigger" id="js-tooltip__trigger___21209">Available</span>
                    </span>     
                </div>
            </div>
        </a>
    </div>
</div>
1
koeliga 10 ene. 2022 a las 16:19

1 respuesta

Estas buscando algo como esto

'//a[@class="clean"][ancestor::div[@data-passendheid="Correct"]][//*[local-name()="path"][@stroke-width="11"]][//span[@class="js-tooltip"][contains(.,"Available")]]'

    target element  |           parent element                  |      child element with stroke-width        |        child element with text Available
1
Guy 10 ene. 2022 a las 16:42