检查整个块是否有任何带有内部文本的子项

时间:2014-01-25 12:06:57

标签: python css selenium xpath parent-child

使用selenium webdriver我遇到了问题,找到了带有内部文本的孩子的块。

<div class="chat_dialog">
 <div class="chat_message">
  <span class="chat_timestamp" style="display: none;">[14:55:24]</span>
  <span class="sender persona online">zajac</span></div>
 </div>
 <div class="chat_message">
  <span class="chat_timestamp" style="display: none;">[14:55:25]</span>
  <span class="sender persona online">othername</span></div>
 </div>
</div>

我需要选择类的块.chat_dialog zajac

driver.find_element_by_css_selector(&#39; .chat_dialog&#39;)。文字并不像我怀疑的那样工作。我知道我可以找到课程发件人的所有元素,但我需要其他方式! 可能我可以使用xpath或css选择器吗?

1 个答案:

答案 0 :(得分:1)

Webdriver.find_element_by_xpath与以下xpath表达式一起使用:

xpath = './/div[@class="chat_dialog"][descendant::text()="zajac"]'
element = driver.find_element_by_xpath(xpath)

[descendant::text()="zajac"]将过滤文本为zajac的后代元素。