2012-04-19 4 views
0

私はこのような構造のHTMLのためのSeleniumテストを書くことをしようとしている: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

行にidsがある場合は、その行が一意である必要があります。あなたは、あなたが望むボタンがどの行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を持ってtrを見つけた場合、それ内部td/buttonにそのtrから移動します。

関連する問題