【问题标题】:protractor-selenium scrolling behaviour difference between chrome and firefoxchrome和firefox之间的量角器硒滚动行为差异
【发布时间】:2023-03-13 01:50:01
【问题描述】:

目前我在使用 firefox 时遇到了规格失败。单击按钮时出现的页面上有一个下拉列表。然后,我查看该下拉列表中的每个元素。

现在这个列表很长,需要滚动页面才能找到所有元素,这在 chrome 上不是问题,但在 Firefox 上不是问题,但是当量角器想要滚动下一个元素进入视图时,下拉 div 似乎关闭了。

我怀疑这是因为 selenium 单击页面或开始滚动的东西。 (手动测试时,我注意到在下拉菜单之外单击会关闭该下拉菜单)

我如何验证这是否是正在发生的事情以及是否可以更改? selenium 在滚动时真正经历了哪些步骤?

public.clickDcdButton = function() {
    log('clicking dcd button', 'yellow');
    return element(by.className('multiSelect')).click();
};

public.setCollections = function(collectionArray) {
    return public.clickDcdButton().then(function() {
        return selectNone.click();
    }).then(function() {
        return collections.each(function(collection, index) {
            H.util.scrollIntoView(collection).then(function() {
                browser.wait(EC.visibilityOf(collection), 5000);
            }).then(function() {
                log('into view');
                return collection.getText();
            }).then(function(text) {
                log(text, 'yellow');
                if (collectionArray.indexOf(text.slice(1)) != -1) {
                    return collection.click();
                }
            });
        });
    }).then(function() {
        return public.clickDcdButton()
    });
};

【问题讨论】:

    标签: selenium firefox protractor


    【解决方案1】:

    我认为你应该等到承诺解决:

    试试这个逻辑:

    browser.executeScript('window.scrollTo(10,10);').then(function () { page.Button.click(); })

    【讨论】:

    • 我已经在这样做了,还是不行。问题不在于我自己过早关闭了下拉菜单,而是其他东西在滚动时将其关闭。
    • 啊,好吧,尝试添加一个等待可能是值没有完全加载
    • *显然我不能在 cmets 中添加代码,我会更新 OP
    猜你喜欢
    • 1970-01-01
    • 2018-07-02
    • 2018-09-09
    • 2019-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-25
    • 2012-08-23
    相关资源
    最近更新 更多