小编典典

Ruby Selenium Web驱动程序:如何计算特定节点的子元素节点

selenium

是初学者的selenium程序员,请帮助我…

我有下面的HTML,并试图计算元素的子节点 <div class="result-controls">为4(1 div和3个li元素)

<div class="result-controls">
   <div class="attachment">
      <li class="add-attachment-button-column"><a><button>ADD ATTACHMENTS</button></a></li><input type="file" multiple="" style="display: none;">
   </div>
   <li class="sign-button-column"><a href="javascript:void(0)"><button>SIGN</button></a></li>
   <li class="draft-button-column"><a><button>DRAFT</button></a></li>
   <li class="delete-column"> <a href="javascript:void(0)"><svg class="glyphicon-trash" viewBox="0 0 100 100"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#trash"></use></svg> </a></li>
</div>

目前正在按以下方式分别计算计数(row变量在html上方)

  li_actions_count = row.find_elements(:xpath => "./li").length
  div_actions_count = row.find_elements(:xpath => "./div").length

有人可以使用seleniumWeb驱动程序在Ruby中用一种简单的方法来帮助我吗


阅读 318

收藏
2020-06-26

共1个答案

小编典典

有几种可能的方法取决于您希望XPath的具体程度,例如,如果您只想计算任何名称的子元素,则可以使用*

row.find_elements(:xpath => "*").length

并且如果您想专门计算某些名称的子元素,例如lidiv

row.find_elements(:xpath => "*[self::li|self::div]").length
2020-06-26