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.

Selector de menú desplegable en Automatización de selenium

Hola, hice un script para iniciar sesión en github.com y desplegar luego necesito seleccionar la opción de cerrar sesión del menú desplegable. Intenté con el nombre de clase y el xpath, pero ninguno funcionó.

Código para seleccionar el menú desplegable:

driver.findElement(By.xpath("/html/body/div[1]/header/div[7]/details/summary/span[2]")).click();

Código para seleccionar la opción de cerrar sesión en el menú desplegable:

driver.findElement(By.xpath("/html/body/div[1]/header/div[7]/details/summary/span[2]")).click();

Funcionó hasta llegar al menú desplegable, pero luego no funcionó al seleccionar la opción en el menú desplegable.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para seleccionar la opción “Cerrar sesión” del menú desplegable en GitHub usando Selenium, primero debes ubicar el elemento usando el selector adecuado. En este caso, el selector utilizado en ambos códigos proporcionados es para hacer clic en el botón desplegable para abrir el menú. Para seleccionar la opción “Cerrar sesión”, debes ubicar su selector específico.

    Una posible razón por la cual los selectores de nombre de clase y xpath no funcionan podría ser debido a cambios realizados en el sitio web desde que se escribió el script. Puedes tratar de actualizar el selector inspeccionando el botón “Cerrar sesión” en el menú desplegable usando las herramientas de desarrollador en tu navegador.

    Aquí tienes un ejemplo de código para seleccionar la opción “Cerrar sesión” del menú desplegable en GitHub usando Selenium y un selector css:

    “ `
    // Hacer clic en el botón desplegable para abrir el menú
    driver.findElement(By.cssSelector(“summary[aria-label=’View profile and more’]”)).click();

    // Esperar a que el botón “Cerrar sesión” sea visible
    WebDriverWait wait = new WebDriverWait(driver, 10);
    WebElement signoutButton = wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector(“form[action=’/logout’] button[type=’submit’]”)));

    // Hacer clic en el botón “Cerrar sesión”
    signoutButton.click();
    “ `

    Este código primero hace clic en el botón desplegable para abrir el menú, luego espera a que el botón “Cerrar sesión” sea visible usando una espera del controlador web. Finalmente, hace clic en el botón “Cerrar sesión” para cerrar sesión de GitHub.

    Puedes probar este código o modificarlo para adaptarlo a tus necesidades específicas.

Comments are closed.