【问题标题】:Is there a way to disable Angular Grid virtualization, i.e. Angular creating div's for grid based on height/width position?有没有办法禁用 Angular Grid 虚拟化,即 Angular 根据高度/宽度位置为网格创建 div?
【发布时间】:2016-07-08 10:16:57
【问题描述】:

我有一个 Angular 网格 (ag-grid),它将基于滚动/视图在 DOM 中创建 div 以显示数据。我正在编写一个 Selenium WebDriver 测试,该测试将从网格中读取数据并将其与 API 返回的数据进行比较。

由于一些 div 尚未创建(隐藏在 Angular 虚拟化之后),WebDriver 无法有效地捕获数据。

有没有办法强制网格显示所有数据?

【问题讨论】:

    标签: javascript css angularjs selenium ag-grid


    【解决方案1】:

    有一个设置,gridOptions.rowBuffer,它告诉网格在视口上方/下方渲染多少额外的行。将此设置为大于您拥有的行数的数字,然后将呈现所有行。或者如果不确定,请将其设置为 9999999。

    ps 你提到了“Angular Grid”和“Angular Virtualization”。正确地说,它被称为“不可知网格”——ag 代表不可知论——而且虚拟化不是 Angular,网格网格有自己的行虚拟化实现。

    【讨论】:

    【解决方案2】:

    尝试显式单击滚动条或平移​​滚动区域,以便将所需的 div 显示在视图中,以强制 Angular 实例化 div。您可以尝试在实例化 div 集边缘上的已知实例化对象上滚动到视图,我想这将让 Angular 实例化视图之外的对象,以期待继续滚动。如果需要,清洗、冲洗、重复。

    这是一个关于在 Selenium 中滚动到元素的可能有用的页面:Scroll Element into View with Selenium

    【讨论】:

      【解决方案3】:

      尝试将domLayout 设置为domLayout = 'autoHeight'

      【讨论】:

      • 如果您可以添加一些有关此解决方案为何有效的详细信息和/或有关该功能的一些文档,它将使您的答案更好!
      猜你喜欢
      • 1970-01-01
      • 2018-05-09
      • 2019-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-28
      • 1970-01-01
      相关资源
      最近更新 更多