0

如何查找特定標籤下的元素/標籤總數?如何找到特定標籤下存在的元素/標籤的數量?

<div id="mainTag class='mainTag'> 
    <div id="subMainTag1" class="subMainTag1"> 
     <div id="subTag1" class="subTag1"> 
       <div some inner tags again> 
        <div some inner tags again> 
     <div id="subTag1" class="subTag1"> 
       <div some inner tags again> 
        <div some inner tags again> 
     <div id="subTag1" class="subTag1"> 
       <div some inner tags again> 
        <div some inner tags again> 
     <div id="subTag1" class="subTag1"> 
       <div some inner tags again> 
        <div some inner tags again> 

我要尋找有id,每個上面提供的片段classsubTag1。至於div標籤,我需要得到的計數值爲4verifyXpathCount不返回計數。

storeXpathCount | //div[@id='mainTag']/div[@id='subMainTag1']/div | count 
echo ${count} 

storeXpathCount | //div[@id='mainTag']/div[@id='subMainTag1']//div | count 
echo ${count} 

storeXpathCount | //div[@id='mainTag']/div[@id='subMainTag1']/* | count 
echo ${count} 

上述所有返回0,沒有返回實際值4。不知道,我在這裏錯過了什麼。

硒IDE /網絡驅動程序:蟒蛇,一切都很好。

答案: storeXpathCount工作正常。我錯過了選擇框架。 Get Matching XPath Count也適用於Robot Framework。

+0

您是否嘗試過機器人框架selenium2library關鍵字[獲取匹配xpath計數](http://robotframework.org/Selenium2Library/Selenium2Library.html#Get%20Matching%20Xpath%20Count)? –

回答

3

添加到kjhughes's answer,因爲他不明白你試圖用Robot Framework來實現這個。對他的辯護來說,這並不是很清楚。

使用他提供的XPath,您可以使用Xpath Should Match X Times關鍵字。事情是這樣的:

XPath Should Match X Times //div[@id='mainTag']/* 4 

如果你需要存儲檢索匹配計數,可以使用非常相似的關鍵字,Get Matching XPath Count,像這樣:

${count}= Get Matching XPath Count //div[@id='mainTag']/* 
+0

謝謝,Verv(+1)。 – kjhughes

+0

@Verv:由於我需要得到計數值,我會去storeXpathCount。但是,它返回爲0. storeXpathXount // div [@ id ='mainTag']/* var,echo $ {var}。試過// div [@ id ='mainTag']/div [@ id ='subTag1'],但返回0. –

+0

好吧,看我編輯的答案 – Verv

1

此XPath,

count(//div[@id='mainTag']/*) 

將返回子元素的數量div元素與mainTagid屬性值。

+0

'count'是哪個函數?它是Selenium API嗎? –

+0

它是XPath的一部分。請按照您選擇的語言評估XPath表達式。 – kjhughes

+0

我明白'count'是內建函數。我如何在機器人框架中使用它?或任何直接的硒API來獲得? –

相關問題