2011-05-16 5 views
5

테이블에 알려진 행이 없습니다. 각 행은 링크 "검색 프로필"지금은이 링크의 XPath는 변화 행에 따라 될 것입니다 여기에 분명를 포함하기위한 특급 1 열 2 열 3 열 XXX YYYSelenium RC : 테이블의 열에있는 항목을 클릭하는 방법

COLUMN3 "프로필 검색". 이제 2 열의 문자열을 검색하고 싶으면 클릭 한 다음 column3 링크를 클릭해야합니다. 아무도 내게 검색하고 그것을 클릭하는 방법을 알려주 수 있습니까?

답변

0

나는 selenium.click을 사용하여 찾고있는 대상을 제공 할 것을 제안합니다. 당신이 2 열에서 검색하는 것을 텍스트 알고있는 경우 XPath 식에 그것을 넣어의 라인을 따라 열에서 그의 친구에 3

뭔가를 클릭 할 수 있습니다 :

selenium.click("//table[@id='yourTableID']/descendant::tr[td[.='"column2text"']]/td[3]/button); 
0
  1. 생성 된 테이블에서 행 수를 계산하십시오. int rolesTableRowCount = selenium.getXpathCount("//table[@id='your_table_id']/tbody/tr").intValue();
  2. 숫자가 예상 한 결과를 만족하면 텍스트를 특정 셀에 저장할 수 있습니다. String var = selenium.getText("element_locator");
  3. var의 내용이 테스트 문자열과 일치하는지 확인하십시오.
  4. 는 클릭 않으면이 같은 페이지를 감안할 때 열 3.
3

에 링크 "프로필 검색"

<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> 

이 먼저 이름을 찾기 위해 XPATH를 사용하여 올바른 값을 찾을 수 있습니다 사용자의 그런 다음 해당 이름과 관련하여 테이블의 찾은 이름을 기준으로 세 번째 열을 대상으로 지정할 수 있습니다.

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

이 예에서는 두 번째 열에서 'Jane'의 첫 번째 인스턴스와 정확히 일치하는 인스턴스를 찾습니다. 그런 다음 행에 백업하고 세 번째 열을 대상으로 지정하고 클릭합니다.

관련 문제