0

Web 应用程序 (Ember) 将页面呈现为一堆 div。表的内容是动态的。有没有办法以编程方式遍历表格,阅读元素的详细信息并单击超链接?Firebug 将我呈现的页面报告为

<div id="ember7384" class="ember-view ember-table-table-container ember-table-fixed-table-container ember-table-header-container" style="height:30px;width:1860px;">
    <script id="metamorph-357-end" type="text/x-placeholder">
    <div id="ember7428" class="ember-view ember-table-table-container ember-table-body-container antiscroll-wrap" style="height:300px;width:1860px;">
    <div class="antiscroll-box">
    <div class="antiscroll-inner" style="width: 1860px; height: 300px;">
    <div class="ember-table-table-scrollable-wrapper">
    <script id="metamorph-376-start" type="text/x-placeholder">
   <script id="metamorph-376-end" type="text/x-placeholder">
    <div id="ember7430" class="ember-view lazy-list-container ember-table-table-block ember-table-right-table-block" style="height:300px;width:1860px;">
    <div id="ember7435" class="ember-view ember-table-table-row" style="width:1860px;top:0px;height:30px;">
    <div id="ember7447" class="ember-view" style="width:1860px;">
    <div id="ember7448" class="ember-view ember-table-cell text-align-left" style="width:206px;">
    <a id="ember7457" class="ember-view ember-table-content" href="#/dag/dag_1420819850710_0049_1/vertices">
    <script id="metamorph-378-start" type="text/x-placeholder">
    </script>
    MRRSleepJob
    <script id="metamorph-378-end" type="text/x-placeholder">
    </script>
    </a>
    </div>
    <div id="ember7449" class="ember-view ember-table-cell text-align-left" style="width:206px;">
    <span class="ember-table-content">
    <script id="metamorph-379-start" type="text/x-placeholder">
    </script>
dag_1420819850710_0049_1
    <script id="metamorph-379-end" type="text/x-placeholder">
    </script>
    </span>
    </div>
    <div id="ember7450" class="ember-view ember-table-cell text-align-left" style="width:206px;">
    <div id="ember7451" class="ember-view ember-table-cell text-align-left" style="width:206px;">
    <div id="ember7452" class="ember-view ember-table-cell text-align-left" style="width:206px;">
    <div id="ember7453" class="ember-view ember-table-cell text-align-left" style="width:206px;">
    <div id="ember7454" class="ember-view ember-table-cell text-align-left" style="width:206px;">
    <div id="ember7455" class="ember-view ember-table-cell text-align-left" style="width:206px;">
    <div id="ember7456" class="ember-view ember-table-cell text-align-left" style="width:206px;">
    </div>
    </div>
<div id="ember7436" class="ember-view ember-table
</snip>

如何让我的量角器脚本点击 MRRSleepJob 链接(例如)?ID 不是静态的,可以更改。连名字 MRRSleepJob 都可以改?有没有办法在这里使用正则表达式?可以让我在这里解析迷宫般的 div 并在遇到元素时阅读元素的详细信息....然后可能对它们进行操作,例如单击它是否是超链接或仅阅读名称等?

4

1 回答 1

1

您可以通过 id找到元素:

element(by.id('ember7457')).click();

或者,通过链接文本

element(by.linkText('MRRSleepJob')).click();

或者,通过css依赖类名:

element(by.css('div.ember-view a.ember-table-content')).click();

或者。通过 'findElements' 将返回匹配元素的数组:

browser.findElements(protractor.By.tagName('a')).then(function(elems) {

    // Access elements like this
    elems[1];
});
于 2015-01-14T16:02:10.703 回答