繁体   English   中英

如何使用 Selenium 和 Java 与动态 web 元素交互?

[英]How to use Selenium and Java to interact with dynamic web element?

我想使用 Selenium 与网站上的元素进行交互。 该元素包含更多内容,具体取决于用户的行为,但显然始终只有一个 HTML 元素。

当鼠标不在它上面时,元素看起来像这样:

顶部没有鼠标的元素

当鼠标在它上面时,它看起来像这样:

顶部有鼠标的元素

当用户点击向下箭头时,其他内容被可视化:

更动态的内容

如您所见,它包含更多逻辑,但我没有为其添加屏幕截图。

对应的 HTML 代码就是这样,仅此而已: 元素的html代码

我不知道这个内容是如何创建的。 有谁知道我如何使用 Selenium 和 java 与该 web 元素进行交互? Selenium 显然仅限于 HTML 内容-如果不尝试任何肮脏的技巧,例如将鼠标定位在某个 position 自己触发不同的可视化,我该怎么办?

更新我想做自动化的端到端测试。 这意味着我需要像用户一样以编程方式使用 web 元素的按钮:

  1. 单击 x 按钮删除日期
  2. 通过单击向上和向下按钮更改日期
  3. 使用日历组件更改日期
  4. 更改 web 元素中的文本(我想我可能已经能够以我目前的 Selenium 知识做到这一点)

我与该应用程序的开发人员交谈,他告诉我他实际上只是向应用程序添加了一个日期类型的 HTML 输入元素。 rest(即我在上面的问题中提出的那个输入字段的渲染器/编辑器)完全是特定于浏览器的。 它在 Chrome 中看起来像,在 Firefox 中完全不同。

上述 web 元素似乎是 Chrome 中的常规 HTML 5 DateTime 选择。 With that knowledge you can find the web element yourself and a tutorial for Selenium here: https://www.guru99.com/handling-date-time-picker-using-selenium.html and another discussion similar to my question here: How使用 Selenium/Protractor 设置 HTML5 type="date" 输入字段(例如在 Chrome 中)?

大师页面显然描述了如何控制完整的 web 元素,它似乎工作。 我会检查一下并接受这个作为现在的答案。 感谢大家的时间!

暂无
暂无

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

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