获取包含文本的webdriver中的特定元素

bbb*_*bco 4 ruby selenium webdriver

仅根据元素内部的文本检索WebDriver/Selenium2中的特定元素有哪些好方法?

<div class="page">
  <ul id="list">
    <li>Apple</li>
    <li>Orange</li>
    <li>Banana</li>
    <li>Grape</li>
  </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

基本上,我想写这样的东西来检索特定的元素:

@driver.find_element(:id, "list").find_element(:text, "Orange")
Run Code Online (Sandbox Code Playgroud)

这与我在链接(即:link_text:partial_link_text)中查找文本时使用选择器的方式非常相似,但我想在普通的非链接元素中按文本查找元素.

有什么建议?你是如何处理这个问题的?(如果你想知道,我正在使用Ruby.)

And*_*ham 7

你可以用xPath做到这一点.对于你的例子,这样的事情:

@driver.find_element(:id, "list").find_element(:xpath, './/*[contains(., "Orange")]')
Run Code Online (Sandbox Code Playgroud)