2011-10-21 80 views
1

我有一個簡單的問題。硒:驗證表格內容

我:

<td class="xxx">200</td> 
    <td class="xxx">200</td> 
    <td class="yyyy">100</td> 
    <td class="yyyy">100</td> 
在我的HTML

請告訴我,以確保一流的「XXX」的所有結果最好的,非侵入性的方式是200級的「YYYY」的所有結果是100

回答

0

使用

not('200' != //td[@class = 'xxx']) 
and 
    not('100' != //td[@class = 'yyyy']) 

XSLT - 基於驗證

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output method="text"/> 

<xsl:template match="/"> 
    <xsl:value-of select= 
    " not('200' != //td[@class = 'xxx']) 
    and 
     not('100' != //td[@class = 'yyyy']) 
    "/> 
</xsl:template> 
</xsl:stylesheet> 

WH烯應用這個XML文檔上(您的片段包裹成一個頂部元件成爲一個良好的XML文檔):

<t> 
    <td class="xxx">200</td> 
    <td class="xxx">200</td> 
    <td class="yyyy">100</td> 
    <td class="yyyy">100</td> 
</t> 

產生

true 

當該XML文檔上施加

<t> 
    <td class="xxx">200</td> 
    <td class="xxx">200</td> 
    <td class="yyyy">100</td> 
    <td class="yyyy">101</td> 
    <td class="yyyy">100</td> 
</t> 

再次的CORRE克拉結果產生

false 

說明

閱讀關於the XPath operator !=

+1

這與硒有什麼關係? – psousa

+0

@psousa:這是「關係到硒」這是與其他任何XPath引擎以同樣的方式:只需評估與您的XPath引擎所提供的XPath表達式(在這種情況下,硒)。 –

+0

這裏的上下文是端到端測試。因此,您不應該建議XPath斷言呈現的文本,因爲它可能不會被顯示,轉換或替換爲影子DOM。 –