WebdriverIO使用Java脚本循环遍历元素列表

时间:2018-06-01 14:55:33

标签: javascript node.js selenium-webdriver

我有一个动态行数的网格,我想获取每一行的内容。下面是一个示例,我希望能够获得"这不能是一个字母。"和"输入联系人的姓氏。"

我试过

 <div id="topErrors">
<h3 id="topErrorTitle">Your information contains 2 error(s).</h3>
<ul id="topErrorList">
    <li>
        <a href="" tabindex="0">This can’t be a single letter.</a>
    </li>
    <li>
        <a href="" tabindex="0">Enter the last name of the contact person.</a>
    </li>
</ul>

两人都没有工作

失败:TypeError:无法读取属性&#39; getText&#39;未定义的

{{1}}

1 个答案:

答案 0 :(得分:0)

以下是使用jquery选择器和.each()方法实现目标的方法。

// Get the title
const contentTitle = $('#topErrorTitle').html().trim();

console.log(contentTitle);


// Get the N Rows texts
const rowContents = [];

// Look at each <a>
$('#topErrorList li a').each(function(elem) {
  // Get the content and push it into the array
  rowContents.push($(this).html().trim());
});

// Display the array
console.log(rowContents);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="topErrors">
  <h3 id="topErrorTitle">Your information contains 2 error(s).</h3>

  <ul id="topErrorList">
    <li>
      <a href="" tabindex="0">This can’t be a single letter.</a>
    </li>
    <li>
      <a href="" tabindex="0">Enter the last name of the contact person.</a>
    </li>
  </ul>