WebDriver/Selenium2の特定の要素を要素内のテキストのみで取得するには、どのような方法が良いでしょうか?WebDriverでテキストを含む特定の要素を取得する
<div class="page">
<ul id="list">
<li>Apple</li>
<li>Orange</li>
<li>Banana</li>
<li>Grape</li>
</ul>
</div>
基本的に、私は特定の要素を取得するために、このような何かを書きたいのですが:
@driver.find_element(:id, "list").find_element(:text, "Orange")
これは、リンク内のテキストを見つけたとき、私はセレクタを使用する方法と非常によく似ています(つまり、 :link_text
または:partial_link_text
)ですが、通常の非リンク要素内のテキストで要素を検索したいと考えています。
提案がありますか?あなたはこの問題にどのように対処していますか? (あなたが疑問に思っている場合は、私はRubyを使用しています)
ありがとうございました。 xpathを使用しない方が良いでしょうが、依然として素晴らしい応答に感謝します! – bbbco
'find_element'を連鎖させることができないのを知りませんでした。最初の要素の子要素だけを検索すると仮定しています。 ;) – erroric
ええ、ドライバでfind_elementを呼び出すのはルートから始まり、要素上でそれを呼び出すときはその要素から始まります。私はXPathがそれをオーバーライドすることができると考えています(つまり、 '。'がXPathの先頭にない場合は、//によって指示されるようにドキュメントルートから開始するかもしれませんが)今。 –