量角器 - 获取列表中的特定元素

时间:2016-02-12 03:56:27

标签: protractor

我在表格中有一个页面列表,需要点击下一页。

<td><span>1</span></td>
<td><a href="2">2</a></td>
<td><a href="3">3</a></td>

因此,如果浏览器当前位于第1页,我需要点击第2页。

我目前通过“td”获取元素,通过for循环(或映射函数)尝试查找当前页面,然后尝试查找下一页。我一直在尝试解决内存问题或超时问题。

映射功能(内存问题)要点:https://gist.github.com/CaseyHaralson/9965492d894565bfe9d7

for loop(timeout)gist:https://gist.github.com/CaseyHaralson/7153be9f437f4e3a7f5c

for循环看起来也有可能不一定以正确的顺序解析页面的问题。 注意:我无法更改html。

2 个答案:

答案 0 :(得分:2)

此功能应根据您传入的页码单击href。

var visitPage = function (pageNumber) {
    $('a[href="' + pageNumber + '"']).click();
};

it('should visit page three', function () {
    expect(browser.getCurrentUrl()).toContain('1');
    visitPage('3');
    expect(browser.getCurrentUrl()).toContain('3');
});

答案 1 :(得分:2)

假设您当前的网页上有span,那么这样的内容应该有用......

var clickNextPage = function() {
  $('td span').getText().then(function(pageNum) {
    element(by.cssContainingText('td a', pageNum + 1)).click();
  });
};