es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Python Selenium encuentra el elemento hermano después de que se encuentra la tabla correcta.

Hay varias tablas en el sitio con identificadores que cambian, solo la que está activa es clickable, así que estoy probando de esta manera para encontrar la correcta:

def table_test(text):
    rows = driver.find_elements(By.XPATH, '//table/tbody/tr/td[2]')
    for row in rows:
        if row.text == text:
            try:
                row.click()
                break
            except:
                pass

Hasta ahora este código funciona, tal vez haya una forma más elegante para hacerlo.

Mi pregunta principal es:
Cada tabla en el sitio tiene un campo de selección después de ella, ¿cómo puedo identificar el campo de selección correcto también con identificadores que cambian, después de encontrar la tabla correcta? No puedo usar el mismo método porque cada campo de selección es utilizable incluso si no es el activo.

Cuando intento encontrar el siguiente campo de selección después de encontrar la fila correcta, se encuentra el primer campo de selección en el documento, el incorrecto.

element = row.find_element(By.XPATH, '//following-sibling::select')
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Una forma de identificar el campo de selección correcto después de encontrar la tabla correcta es utilizar XPATH relativo. Suponiendo que el campo de selección siempre se coloca directamente después de la tabla, puede utilizar la siguiente expresión XPATH para localizarlo:

    elemento = fila.find_element(By.XPATH, './following-sibling::select[1]')
    

    Esto buscará el primer elemento select que sea un hermano directo de la fila seleccionada actualmente. El ./ al comienzo de la expresión especifica que estamos buscando en relación al elemento actual, que en este caso es la fila seleccionada.

    Si el campo de selección no siempre se coloca directamente después de la tabla, es posible que deba ajustar la expresión XPATH en consecuencia. Puede utilizar varios ejes XPATH para navegar hasta el elemento correcto en función de su posición u otros atributos. Es posible que también deba agregar verificaciones adicionales para asegurarse de seleccionar el elemento correcto, como verificar su clase u otros atributos.

Comments are closed.