获取div中有2个跨距的XPATH表达式

获取div中有2个跨距的XPATH表达式,xpath,webdriver,Xpath,Webdriver,我需要一个动态XPATH表达式来断言文本,您可以使用//div[@class='grid\u 12']//text,但是如果您知道div的深度,可以避免使用第一个//。建议使用//div[@class='grid\u 12']///文本,但它也会匹配 更好的方法是只返回跨度的文本: <div class="grid_12"> <span class="gwt-InlineLabel">What ever</span> &nbsp; ( <spa

我需要一个动态XPATH表达式来断言文本,您可以使用//div[@class='grid\u 12']//text,但是如果您知道div的深度,可以避免使用第一个//。

建议使用//div[@class='grid\u 12']///文本,但它也会匹配

更好的方法是只返回跨度的文本:

<div class="grid_12">
<span class="gwt-InlineLabel">What ever</span>
 &nbsp;
(
<span class="gwt-InlineLabel">Endorsement</span> 
&nbsp;-&nbsp;
<span class="gwt-InlineLabel">Draft</span>)
</div>

这将返回[what ever,approval,Draft],然后对它们进行处理。

问题可能是您通过删除它们来重试计算XPath。该表达式将返回一系列文本节点。在某些上下文中,处理器可能只使用第一个返回的文本节点;它应该返回什么样的数据,比如XPath 1.0或2.0?如何调用?您的意思是希望span元素的内容由空格分隔,并且希望忽略span元素之间的文本吗?什么东西的w被资本化了,这有意义吗?使用Xpath2。文本中的任何内容都不应改变。
//div[@class='grid_12']/span/text()