编程语言
首页 > 编程语言> > javascript – 单击按钮捕获滚动条

javascript – 单击按钮捕获滚动条

作者:互联网

我有一个网页,当点击按钮时,网页中的下一部分会滚动.有人可以建议如何捕捉滚动?代码在锚标记中,而href指向#以滚动到页面中的下一部分.我不知道如何验证滚动实际上是否有效?

解决方法:

在这种情况下,您可以断言/检查一些事情:

> current URL指向正确的#部分:

expect(browser.getCurrentUrl()).toEqual("https://url.com/mypage#myparagraph");

> check body元素的scrollTop位置(假设它是滚动的 – 或其他可滚动容器):

var body = $("body");
expect(body.getCssValue("scrollTop")).toEqual("someValue");  // or apply the "greater than" check

>检查current active element(假设一旦“锚”段变为活动状态就有一个元素聚焦)
>根据您的建议使用window.pageYOffset的解决方案 – 比较点击前后的值:

browser.executeScript('return window.pageYOffset;').then(function (offsetBefore) {
    offsetBefore = parseInt(offsetBefore);
    button.click();

    browser.executeScript('return window.pageYOffset;').then(function (offsetAfter) { 
         offsetAfter = parseInt(offsetAfter);
         expect(offsetAfter).toBeGreaterThan(offsetBefore);
    });
});

标签:javascript,testing,protractor,end-to-end
来源: https://codeday.me/bug/20190828/1755744.html