2011-03-11 39 views
1

我目前正試圖找到合適的xpath來幫助驗證表格中的文本。多次出現時使用xpath完整驗證文本

http://i.stack.imgur.com/1INGX.png

正如你可以看到有多個6的。我想能夠驗證與16相同行中的6(這是在#基因列下)。我一直在嘗試多個xpath來點擊正確的6,但到目前爲止還沒有成功。

<td id="x-auto-514" 
    class="x-grid3-col x-grid3-cell x-grid3-td-numGenes " 
    style="width: 78px; text-align: center;" 
    role="gridcell"> 
    <div class="x-grid3-cell-inner x-grid3-col-numGenes" 
     unselectable="on" 
     >16</div> 
</td> 
<td id="x-auto-515" 
    class="x-grid3-col x-grid3-cell x-grid3-td-numSpecies x-grid3-cell-last " 
    style="width: 78px; text-align: center;" 
    role="gridcell"> 
    <div class="x-grid3-cell-inner x-grid3-col-numSpecies" 
     unselectable="on" 
     >6</div> 
</td> 

非常感謝您的幫助。

+0

好問題,+1。查看我的答案,獲取完整,簡短且簡單的XPath解決方案。 :) – 2011-03-12 19:16:25

回答

0

使用

//td[div = '16']/following-sibling::td[1]/div[. = '6'] 

這將選擇每div與字符串值'6'這是一個div立即下面的兄弟與字符串值'16'

+0

這正是我正在尋找的。非常感謝你! – 2011-03-15 16:22:00

+0

@ bo-jangles:不客氣。 – 2011-03-15 16:30:23

1

你的意思是這樣的嗎?

/html/body/table/tr[ 
    td/div[ 
     contains(
     concat(' ',@class,' '), 
     ' x-grid3-col-numGenes ' 
    ) and 
     . = 16 
    ] 
]/td/div[ 
    contains(
     concat(' ',@class,' '), 
     ' x-grid3-col-numSpecies ' 
    ) 
] 
+0

對不起。 也許我應該更具體到 到目前爲止,我有這個xpath,// div [contains(@ class,'x-grid3-cell-inner x-grid3-col-numSpecies')] [contains(text() ,「6」)],這給出了6,但我想知道是否有一些我可以補充的是,它旁邊有一個16。 – 2011-03-11 23:30:05

+0

另外我使用RIDE進行自動測試 – 2011-03-11 23:37:57

+0

@BoJangles - 它似乎有效。我將xml和Alejandro的xpath插入xpath工具的http://www.xmlme.com/XpathTool.aspx,並按照您的指示進行評估。當我將xml中的'16'更改爲'15'時,它失敗了。這不正確嗎? – gilly3 2011-03-12 00:09:42

0

試試這個:

 
//tr[ 
    //div[ 
     contains(concat(' ',@class,' '), ' x-grid3-col-numGenes ') and 
     . = 16 
    ] 
]//div[ 
    contains(concat(' ',@class,' '), ' x-grid3-col-numSpecies ') and 
    . = 6 
] 
+0

這隻返回表中的6,但謝謝你的嘗試。 – 2011-03-16 23:26:03