无法通过xpath集合获取Web元素(工作融合)

时间:2019-01-22 13:44:19

标签: selenium xpath rpa workfusion

在Workfusion中,我正在迭代xpath中将要找到的HTML页面中的所有元素:

  

// * [开始于(@id,“ FormView1_hidRevElement”)] [$ {i}]

当$ {i} = 1时,我得到了预期的结果,但是当$ {i}> 1时,我没有得到预期的结果。

在HTML页面中,我具有以下元素:

  

id =“ FormView1_hidRevElement12636”

     

id =“ FormView1_hidRevElement12637”

     

id =“ FormView1_hidRevElement12642”

引发错误: ...

<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>




<div id="app">
  <div class='col-md-4 mt-3' v-for="(post, index) in posts" :key="index">
    <textarea readonly :ref="'p' + index" class="post-description">
      {{post.content}}
    </textarea>
    <a @click.prevent="setFocusEdit(index)" href="#">Edit Me</a>
  </div>
</div>

...

怎么了?

2 个答案:

答案 0 :(得分:6)

您创建的XPath错误,因为

// * [开始于(@id,“ FormView1_hidRevElement”)]

将为以下ID返回匹配计数为3

id =“ FormView1_hidRevElement12636”

id =“ FormView1_hidRevElement12637”

id =“ FormView1_hidRevElement12642”

每个id匹配项等于1,那么显然> 1条件将引发错误,因为它不存在。

尝试此XPath:

(// * [starts-with(@id,“ FormView1_hidRevElement”)])[$ {i}]

答案 1 :(得分:-1)

确定以下元素:

  • id="FormView1_hidRevElement12636"
  • id="FormView1_hidRevElement12637"
  • id="FormView1_hidRevElement12642"

您可以使用以下 xpath

"//*[starts-with(@id,'FormView1_hidRevElement') and contains(@id, '%s')]" % (i)

"//*[starts-with(@id,'FormView1_hidRevElement') and contains(@id, '{}')]".format(i)