Necesito ubicar y hacer clic en Mi cuenta

enter image description here

Puedo ver el elemento de la cuenta del menú desplegable del encabezado del div principal, luego hay un niño y ese niño tiene otro niño que contiene dos elementos que son dos textos href

Potencialmente, podría ubicar una matriz de elementos que tienen una clase de elemento de menú de encabezado con enlace y luego elegir el primer elemento para ubicar lo que necesito, pero ¿hay una mejor manera de hacerlo?

enter image description here

1
Prozorov 4 oct. 2021 a las 17:55

2 respuestas

La mejor respuesta

De la forma en que quieres hacerlo, sería algo como esto:

//div[@class='header-menu-item with-link']

Y luego puedes escribir:

//div[@class='header-menu-item with-link']/a

O si tiene un elemento web con este header-menu-item with-link

Usar directamente .//a con findElement

Mejores prácticas

Pero personalmente, no preferiría tener xpath para esto

Por favor, inténtalo

linkText

O

partialLinkText

Dado que el elemento que está buscando dentro de una etiqueta achor , linkText debería funcionar.

1
cruisepandey 4 oct. 2021 a las 14:58

Trabajó con el enfoque de linkText

@FindBy(linkText = "My account")
 private WebElement myAccount;

  public MyAccountPage openMyAccountPage() {
        Actions actions = new Actions(driver);
        actions.moveToElement(username).perform();
        actions.moveToElement(myAccount).click().perform();
        return new MyAccountPage(driver);
    }
0
Prozorov 4 oct. 2021 a las 15:18