2014-06-24 2 views
1

저는 Firefox의 Selenium Webdriver와 이상적으로 IE8에서도 테스트 중입니다. 지금까지 나는 함께했다 Text1테이블 행에있는 특정 링크를 클릭하십시오.

포함 된 행에 할당 링크를
클릭 :

<table id="table"> 
<tbody> 
    <tr> 
     <td>Text1</td> 
     <td><a id="assign" href="/assign/1>Assign</a></td> 
    </tr> 
    <tr> 
     <td>Text2</td> 
     <td><a id="assign" href="/assign/2>Assign</a></td> 
    </tr> 
    <tr> 
     <td>Text3</td> 
     <td><a id="assign" href="/assign/3">Assign</a></td> 
    </tr> 
</tbody> 
</table> 

가 기본적으로 제가해야 할 것은 이것이다 : 여기

내 HTML 구조입니다 XPATH : 모든 할당 링크를 선택하는 //*[@id='table']//tr/td//following-sibling::td//following-sibling::td//following-sibling::td//a //*[@id='table']//tr/td[text='Text1']//following-sibling::td//following-sibling::td//following-sibling::td//a으로 변경하면 Firebug에서 "일치하는 노드 없음"을 반환합니다.

그러나 CSS 선택 도구가 필요합니다. 그래서, 나는 #table>tbody>tr:contains('Text1')을 시도했지만 Firebug는 "Invalid CSS Selector"를 반환합니다.

제안 사항? 또한

//table[@id="table"]//td[preceding-sibling::td="Text1"]/a[@id="assign"] 
+0

아마 href가 다음과 같은 특성 인 속성 선택기를 사용할 수 있습니다. [href = "/ assign/1"] – Qaz

+0

@Qaz 텍스트를 확인할 필요가 없다면 # assign.click 또는 무엇인가 할 수 있습니다. 그런 것 같지만, 먼저 어떤 링크를 클릭해야하는지 알 필요가 있습니다. –

답변

0

당신은 Text1 텍스트 td 형제 태그를 이전 한 td을 찾아야한다, 다음 a 태그를 얻을 '할당'

//table[@id='table']//tr[td[.='Text1']]/td[.='Assign'] 

CSS 선택기에 대한 정보가 있습니다. 텍스트 기반 검색을위한 순수한 CSS 선택 도구가 없습니다. 'contains'은 아직 표준화되지 않았기 때문에 귀하의 경우에는 작동하지 않을 수 있습니다.

+0

'// table [@ id = "table"] // td는 내 tds를 선택합니다.'//테이블 [@ id = "table"] // td [preceding-sibling :: td = "Text1"]'return "방화 광에서 노드가 일치하지 않습니다. –

+0

@Ciuclpgfmk 잘, 당신이 제공 한 입력에 대한 답변을하기 전에 xpath를 테스트했습니다 - 나를 위해 일합니다 .. – alecxe

+0

@Ciuclpgfmk 또한 이것을 확인할 수 있습니다 :'// table [@ id = "table"] // td [normalize-space (선행 형제 :: td/text()) = "텍스트 1"]'? – alecxe

0

당신이 'tr'text = 'Text1''td'을 가진 후 'tr' 내부 'td' 가진 텍스트를 찾을 수 찾을 수 있습니다

관련 문제