0

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

网页由页面左侧和右侧的两个 UL(列表)组成,每个都有几个 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 代码。我也试过:

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

这不是给我 2 而是一个很大的数字。

4

3 回答 3

0

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

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

顺便说一句,该关键字Get Matching Xpath Count在最新版本的 SeleniumLibrary 中已弃用,而支持Get Element Count

于 2018-11-08T05:45:16.993 回答
0

用于计算特定 '' 的 'li' 的 XPath 2.0 表达式将是:

//ul[@id="col8a580456553ae"]/count(li)
于 2016-06-29T14:07:56.900 回答
0

试试这个新的 chrome 扩展

https://chrome.google.com/webstore/detail/relative-xpath-helper/eanaofphbanknlngejejepmfomkjaiic

于 2016-07-04T15:32:43.047 回答