【问题标题】:Programmatically check an ag-grid checkbox以编程方式检查 ag-grid 复选框
【发布时间】:2021-06-07 22:24:24
【问题描述】:

我正在使用浏览器自动化软件来运行自动化 UI 测试。我们的前端站点使用 Vue 和 ag-grid。我的浏览器自动化软件本质上允许我们使用典型的 javascript/jquery 选择器与 UI 自动交互。

我正在尝试让我们的浏览器自动化软件在 ag-grid 内的 ag-grid 复选框中选中复选框。

我不是 Vue 开发人员,所以我正在尝试我会做的典型事情。比如:

$('.ag-selection-checkbox').click();

但我实际上并没有点击并选择框。任何建议将不胜感激。

更新对于那些在我的情况。我像这样使用了 ag API:

document.querySelector('#myGrid').__vue__
   .gridOptions.api.forEachNode((row,index) => {
       document.querySelector('#myGrid').__vue__.
           gridOptions.api.getRowNode(row.id).selectThisNode(true); 
       }
)

【问题讨论】:

    标签: vue.js ag-grid


    【解决方案1】:

    尝试使用与复选框直接关联的类,在这种情况下,它将是应用于输入元素的类:ag-input-field-input ag-checkbox-input

    你可以像这样得到第一行的复选框:

    const checkbox = document.querySelector('.ag-center-cols-viewport .ag-row .ag-checkbox-input');
    checkbox.click();
    

    请参阅 this example 展示基于按钮单击通过 DOM 进行的行选择。

    【讨论】:

    • 谢谢!我最终不得不改用它,但我认为这是因为上面的原因,但我认为这是因为我是从服务器加载的,否则这本来可以工作。
    • 不用担心 :) 很高兴你解决了它。我认为类 .ag-selection-checkbox 是罪魁祸首,如果你检查 DOM,你可以看到它的边距为 12px。也许点击事件集中在边距而不是复选框上,因此使用 .ag-checkbox-input 确保直接选中了复选框。
    猜你喜欢
    • 2018-05-10
    • 1970-01-01
    • 2018-01-23
    • 1970-01-01
    • 2019-01-25
    • 1970-01-01
    • 2016-10-29
    • 2012-08-12
    • 2012-10-01
    相关资源
    最近更新 更多