繁体   English   中英

如何使用 selenium java 单击未加载到 DOM 中的元素?

[英]How to click an element which is not loaded in DOM using selenium java?

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

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

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

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

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

需要一些解决方案。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM