如何使用获取匹配的XPath计数获取HTML的列表元素(ul标签)的数量?

时间:2016-06-21 10:28:04

标签: xpath robotframework selenium2library

我是XPATH查询的新手。我使用RF和selenium2library以及chrome中的XPath Helper-plugin来测试某个网站页面。我也是HTML / CSS / JavaScript的新手。

该网页包含两个用于页面左侧和右侧的UL(列表),每个页面都有一些LI,这些LI具有由小部件(JPEG图像等)组成的很少的分区。

我需要统计此列表行(每个UL中的LI数量)。我已经在下拉菜单中做了同样的事情来计算它的元素没有问题(也许是因为它被考虑了 一个网络元素)。但是现在我使用相同的“获取匹配Xpath计数”,它几乎返回整个页面HTML源代码而不是数字,然后失败。

我的所有程序都是基于获取UL中的LI数量(下拉菜单,页面,表格......)。所以我想知道现在该做什么。以下是该页面HTML代码的示例:

<ul class="rqcol" id="col8a580456553ae">
 <li class="rqportlet"  id="por8a58045655">
   <div id="hdrpor8a580" class="rqhdr" onmouseover="RQ.util.showTools(this)" onmouseout="RQ.util.hideTools(this)"> </div> </li>
 <li class="rqportlet" id="por8a580456" >
   <div id="hdrpor8a581" class="rqhdr" onmouseover="RQ.util.showTools(this)" onmouseout="RQ.util.hideTools(this)"> </div></li>
</ul>

我的代码是:

Get Matching Xpath Count  |  //ul[@id="ccol8a580456553ae"]/li

它确实给了我一些文本和HTML code.i也试过:

Get Length |  //ul[@id="ccol8a580456553ae"]

这不会给我2但是很多。

3 个答案:

答案 0 :(得分:0)

一个XPath 2.0表达式来计算&#39; li&#39;对于具体的&#39;&#39;将是:

//ul[@id="col8a580456553ae"]/count(li)

答案 1 :(得分:0)

答案 2 :(得分:0)

您在id值中输入了错字-开头有一个额外的“ c”字符;否则,xpath是正确的:

${count}=    Get Matching Xpath Count    //ul[@id="col8a580456553ae"]/li

顺便说一下,在最新版本的SeleniumLibrary中不推荐使用关键字Get Matching Xpath Count,而推荐使用Get Element Count