【问题标题】:Protractor - get specific element in a list量角器 - 获取列表中的特定元素
【发布时间】:2016-02-13 22:29:53
【问题描述】:

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

<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 循环(超时)要点:https://gist.github.com/CaseyHaralson/7153be9f437f4e3a7f5c

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

【问题讨论】:

    标签: protractor


    【解决方案1】:

    假设你当前的页面是span,这样的东西应该可以工作......

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

    【讨论】:

    • 比我尝试的要简单得多。谢谢!
    【解决方案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');
    });
    

    【讨论】:

    • 对不起,我把我的情况简化得太多了。无法计算 href。
    猜你喜欢
    • 2016-05-02
    • 2014-02-13
    • 2015-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多