Robot Framework / Selenium 中的子元素数量?

Number of child elements in Robot Framework / Selenium?

如何找到特定标签下 elements/tags 的总数?

<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>

我正在寻找具有 idclass subTag1div 标签。根据上面提供的片段,我需要将计数值设为 4. verifyXpathCount 没有 return 计数。

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}

以上所有 returns 0,无 returns 实际值 4。不确定,我在这里缺少什么。

Selenium IDE/web-driver:python ,什么都好。

答案: storeXpathCount 工作正常。我错过了 select 帧。 Get Matching XPath Count 在 Robot Framework 中也能正常工作。

这个 XPath,

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

将return属性值为mainTag.

div元素下的子元素数量id

添加到 ,因为他不明白您正在尝试使用 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']/*