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.

Automatización web con Selenium utilizando Python: ¿Cómo puedo manejar una tabla usando Selenium para encontrar una fila en particular mediante la coincidencia de texto y eliminar esa fila?

A continuación se muestra un fragmento de código que he copiado para un registro (fila). Quiero buscar “selenium1” en el código de abajo y eliminar ese registro de la tabla. He compartido la captura de pantalla de cómo se ve el registro en la tabla. Además, el ID de cada registro es diferente. Por lo tanto, quiero eliminar el registro basado en el texto coincidente. Por favor, ayuda

<tr class="evenrow" id="S2D10925" onmouseover="javascript:this.className='hilightrow';" onmouseout="javascript:this.className='evenrow';" onclick="javascript:selectNode('S2D10925');">
        <td align="left">
         
        <img src="../images/icons/destinations\email3.png" style="vertical-align:middle;" width="16" height="16"> 
        SELENIUM1
        </td>
        <td nowrap="nowrap" align="left">Automation1</td>
        <td nowrap="nowrap" align="left">INTERNET</td>
        <td nowrap="nowrap" align="left">INTER_PROVIDER</td>
        <td align="left">SELENIUM1@SEQENT.COM</td>
        <td align="left">selenium1@seqent.com</td>
        <td align="left">EMAIL</td>
        <td nowrap="nowrap" align="left">(UTC-10:00) Hawaii</td>
        <td nowrap="nowrap" align="left">Enabled</td>
</tr>

Enlace de la imagen de descripción aquí: aquí

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para eliminar el registro con el texto “selenium1”, puedes usar el siguiente script:

    from selenium import webdriver
    
    # iniciar el webdriver y abrir la página deseada
    driver = webdriver.Chrome()
    driver.get("tu_url_de_la_página")
    
    # encontrar todas las filas de la tabla e iterar sobre ellas
    rows = driver.find_elements_by_xpath("//table[contains(@class,'tu_clase_de_tabla')]//tr")
    for row in rows:
    
        # obtener el texto de la fila
        row_text = row.text.lower()
    
        # verificar si 'selenium1' está en el texto de la fila y eliminarla si es verdadero
        if 'selenium1' in row_text:
            row.find_element_by_xpath(".//td[1]").click() # hacer clic en la fila para seleccionarla
            # encontrar el botón de eliminación y hacer clic en él
            delete_button = driver.find_element_by_xpath("//button[contains(text(),'Eliminar')]")
            delete_button.click()
            # confirmar la operación de eliminación
            confirm_button = driver.find_element_by_xpath("//button[contains(text(),'Confirmar')]")
            confirm_button.click()
    
    # cerrar el webdriver
    driver.close()
    

    Este script encontrará todas las filas en la tabla, verificará si alguna de ellas contiene el texto “selenium1”, seleccionará la fila con un clic, encontrará y hará clic en el botón de eliminación, y confirmará la operación de eliminación. Deberás reemplazar “tu_url_de_la_página” y “tu_clase_de_tabla” en el script con tus propios valores.

Comments are closed.