【问题标题】:how to scroll a locator using robot framework如何使用机器人框架滚动定位器
【发布时间】:2020-03-06 00:00:20
【问题描述】:

我在前端使用了 Angular,在我的页面的某些部分我包含了虚拟滚动:

https://material.angular.io/cdk/scrolling/overview

对于那些不知道的人,它用于避免在巨大的列表中一次呈现所有数据,它的作用是它只在前端包含那些根据滚动条显示的项目。

现在我想检查所有项目是否都在这个虚拟表中,所以,我需要向下滚动直到项目定位器出现。

我正在考虑向下滚动大约 50 px 并检查项目是否存在,如果存在,则停止,否则继续滚动。

问题是我找不到如何使用机器人框架滚动,我只看到:

Scroll Element Into View    ${locator}

但这对我没有用,因为我的项目没有“隐藏”它不存在。

这是一种方法吗:

Scroll down my item 50px     ${locator}

Scroll my item to top   ${locator}

【问题讨论】:

    标签: robotframework angular-cdk-virtual-scroll


    【解决方案1】:

    如果元素没有id怎么办? 我做了这个关键字,但对 DOM 有点干扰

    Scroll to xpath
    [Arguments]         ${xpath}
        ${tmp}=     SeleniumLibrary.get element attribute   ${xpath}    id
        assign id to element    ${xpath}     scrollID
        execute javascript      document.getElementById('scrollID').scrollIntoView();
        run keyword if  '${tmp}' != '${EMPTY}'    assign id to element    ${xpath}     ${tmp}
    

    任何建议将不胜感激

    【讨论】:

    • 它与 selenium scrollIntoView 相同,问题是元素已从 DOM 中删除,因为这是虚拟滚动的工作方式。我需要滚动一些像素而不是寻找元素
    • @cucuru 那么您是如何滚动到特定定位器的?
    • 我终于在视图中包含并使用了一个搜索按钮,因此不需要滚动。
    猜你喜欢
    • 2020-11-25
    • 2017-11-07
    • 2021-03-16
    • 1970-01-01
    • 2015-06-29
    • 2015-11-04
    • 2017-10-26
    • 2018-08-21
    • 1970-01-01
    相关资源
    最近更新 更多