2012-10-11 36 views
5

Estoy un poco atorado en un problema y no puedo solucionarlo Tengo que acceder a la n-ésima imagen en mi página que viene en la tabla dentro de HTML. Necesito hacer clic en la imagen para pasar a la siguiente pantalla, respectivamente, para cada filaSelenium WebDriver Find nth element

He intentado varios solución proporcionada aquí, pero ya estoy trabajando con findElement (por) la sintaxis no soy capaz de ejecutar el código con aquellas asistencias

mi código es:

public void editUser(String userName) 
{ 
    System.out.println("in editUser 1"); 
    int row = getCellRow(table, userName); 
    System.out.println("in editUser 2"); 

    WebElement edit = driver.findElement(By.xpath("//*[@class='grid']/tbody/tr[2]/td[8]/a[1]/img")); 

    System.out.println("in editUser 3"); 
    edit.click(); 
    System.out.println("in editUser 4"); 
    clickButton(closeButton); 
} 

error es: IDE

No such element exception. Unable to locate element: {"method":"xpath", selector"://img[@title='User Management'])[2] 

selenio podía reconocer mi elemento, pero no conductor web selenio! Por favor, consejo

+1

Publica tu html fragmento de código aquí. – Santoshsarma

+0

Danos un ejemplo de lo que estás tratando de encontrar. – Arran

+0

Santoshsarma: He agregado el fragmento de código html aquí. Por favor, consulte y sdvice – user1726783

Respuesta

2

Dado que el fragmento de html no es una vista completa, no se puede aconsejar si el xpath utilizado es correcto. Con lo que se presenta aquí, podría sugerir lo siguiente para avanzar

  1. Trate de usar XPather (plugin de firefox) para comprobar si el XPath utiliza devuelve la imagen de la derecha que está tratando de hacer clic.
  2. Si se supera la condición anterior, puede haber problemas de tiempo para cargar la imagen antes de que webdriver intente encontrarla.
8

Utilice [] para hacer referencia al elemento enésimo por ejemplo

WebElement edit = driver.findElement(By.xpath("(//*[@class='grid']//img)[n]")); 

Donde n es el número de elemento

+1

¿Hay algún problema con este localizador? Estoy recibiendo un tiempo de espera inesperado usando WebDriverWait.' locator = (By.XPATH, '(.//input [@ type = text]) [1]) '' – Phillip

Cuestiones relacionadas