使用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选择器吗?
答案 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
的后代元素。