2012-04-19 2 views
0

나는이 같은 구조의 HTML에 대한 셀레늄 테스트를 작성하려고 해요 :Selenium의 특정 요소 옆에있는 버튼을 어떻게 클릭합니까?

<table> 
    <tr id="row-1"> 
    <td><span class="some_data">what I'm looking for</span></td> 
    <td><button class="doSomething" onclick="..."></button></td> 
    </tr> 

    <tr id="row-n"> 
    <td><span class="some_data">not what I'm looking for</span></td> 
    <td><button class="doSomething" onclick="..."></button></td> 
    </tr> 
</table> 

나는 what I'm looking for과 같은 행에의 버튼을 클릭하여 테스트를해야합니다. 나는 그것이 driver.find_elements_by_xpath('//span[text() = "what I'm looking for"]')에 있다고 span 찾을 수 있지만, 거기에서 해당 버튼을 얻는 방법을 모르겠습니다.

나는 Selenium Python bindings 버전 2.21.2를 사용하고 있습니다.

+0

행에 ID가 있으면 고유해야합니다. 페이지 외부에서 원하는 행 ID를 알거나 쉽게 결정할 수 있습니까? 그렇다면 거기에서 시작하여 td [2]에 대한 xpath를 구축하십시오. –

+0

나는 다음과 같이 말하고 싶다 :-) 아냐, 내가 아는 것은'some_data' 범위에있는 텍스트입니다. – leedm777

+0

부모 및 형제 자매와 협력하려고 시도하셨습니까? http://www.w3schools.com/xpath/xpath_axes.asp? –

답변

3

시도 :

//tr[td/span[text() = "what I'm looking for"]]/td/button 

후, "나는 무엇을 찾고 있어요"텍스트와 td/span을 가지고 그 안에 td/button 해당 tr에서 이동 tr을 발견 한 경우.

관련 문제