【问题标题】:How to click an element which is not loaded in DOM using selenium java?如何使用 selenium java 单击未在 DOM 中加载的元素?
【发布时间】:2020-08-24 10:25:54
【问题描述】:

如屏幕截图所示,有许多内部 div 的 div

如屏幕截图所示,有 6col 和 1 个复选框 col,因此共有 7 列可见。但是如果你向右滚动,直到 col40 的列更多。但是所有 40 列的 div 不是一次加载,而是在滚动时加载

我想验证 col35-col40(或 col6 之后的任何随机 col)是否可见并且是否可编辑和可点击。

我尝试了以下选项,但都没有工作。

  1. Javascript 执行器(带或不带用于水平滚动的 webelement)
  2. 机器人 keys.tab/keys.cntrl+keys.end/all keys 选项,我们可以使用它手动转到特定列
  3. 发送键
  4. 动作类
  5. 缩小(这不是可行/正确的方法,但仍然尝试过,但也没有按预期工作)

需要一些解决方案。

请注意:滚动条没有任何标识符/属性,但它位于主 div 内,没有任何唯一标识。

【问题讨论】:

标签: java selenium scroll webdriver horizontal-scrolling


【解决方案1】:

如果您的元素尚未加载到 DOM 中,则您无法对其执行任何操作,因为它不存在。 解决您的问题的方法是设计一种滚动方法,直到您的元素在 DOM 中可用,然后执行所需的操作(检查、单击等)。 请注意,您不能滚动到您的元素(因为不存在),因此您可以滚动到另一个参考(定位器)或使用 javascript 执行程序对象基于像素。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-23
    • 2016-11-11
    • 1970-01-01
    • 2019-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多