2011-05-16 106 views
5

Digamos que tengo una tabla que contiene números de filas que no se conocen. exp column1 columna2 column3 xxx yyy "Buscar Perfil"Selenium RC: cómo hacer clic en un elemento presente en la columna de una tabla

Columna3 para cada fila contiene un vínculo "Buscar Perfil" ahora está claro que aquí XPath de este enlace estará cambiando de acuerdo a la fila. ahora quiero buscar una cadena en la columna 2 y, si está presente, debe hacer clic en el enlace de la columna 3. ¿Alguien puede decirme cómo buscar y hacer clic en él?

Respuesta

0

Sugeriría utilizar selenium.click y darle el objetivo que está buscando. Si sabe lo que el texto que está buscando en la columna 2, se puede poner esto en una expresión XPath y hacer clic en su amigo en la columna 3.

Algo a lo largo de las líneas de:

selenium.click("//table[@id='yourTableID']/descendant::tr[td[.='"column2text"']]/td[3]/button); 
0
  1. Haz un recuento de filas en la tabla generada. int rolesTableRowCount = selenium.getXpathCount("//table[@id='your_table_id']/tbody/tr").intValue();
  2. Si el recuento alcanza el resultado esperado, puede almacenar el texto en una celda específica. String var = selenium.getText("element_locator");
  3. Compruebe si el contenido de var coincide con su cadena de prueba.
  4. Si no lo hace, haga clic en la opción "Buscar Perfil" que aparece en la columna 3.
3

Dada una página como esta:

<html><head></head><body> 
<table> 
    <tbody> 
     <tr> 
      <td>Number</td> 
      <td>Name</td> 
      <td>Link</td> 
     </tr> 
     <tr> 
      <td>1</td> 
      <td>Tom</td> 
      <td>Link</td> 
     </tr> 
     <tr> 
      <td>2</td> 
      <td>Jane</td> 
      <td>Link</td> 
     </tr> 
     <tr> 
      <td>3</td> 
      <td>Jill</td> 
      <td>Link</td> 
     </tr> 
    </tbody> 
</table> 
</body></html> 

puede localizar el valor correcto mediante el uso de XPath para encontrar primero el nombre del usuario. Luego, en relación con ese nombre, puede orientar la tercera columna relativa al nombre encontrado en la tabla.

selenium.click("//table/tbody/tr/td[text()='Jane']/parent::tr/td[3]") 

En este ejemplo se encuentra la primera instancia de la concordancia exacta y de 'Jane' en la segunda columna. Luego realiza una copia de seguridad de la fila y los objetivos (y hace clic) en la tercera columna.

Cuestiones relacionadas