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

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

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

https://img1.sycdn.imooc.com/65b263260001f35301450023.jpg

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

https://img1.sycdn.imooc.com/65b2632f0001d7e001440026.jpg

当用户单击向下箭头时,会显示其他内容:

https://img1.sycdn.imooc.com/65b263370001f12c02540195.jpg

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

对应的HTML代码就是这样,仅此而已: https://img1.sycdn.imooc.com/65b2633f0001d99603630019.jpg

我不知道这个内容是如何创建的。有谁知道我如何使用 Selenium 和 java 与该 Web 元素交互?Selenium 显然仅限于 HTML 内容 - 如果不尝试任何肮脏的黑客行为(例如将鼠标放置在元素上的某个位置以触发不同的可视化),我能做什么?

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

  1. 单击 x 按钮删除日期

  2. 通过单击向上和向下按钮更改日期

  3. 使用日历组件更改日期

  4. 更改网络元素中的文本(我想我可能已经能够以我目前对 Selenium 的了解来做到这一点


慕姐8265434
浏览 77回答 1
1回答

江户川乱折腾

我与该应用程序的开发人员交谈过,他告诉我他实际上只是向应用程序添加了一个日期类型的 HTML 输入元素。其余的(即我在上面的问题中介绍的该输入字段的渲染器/编辑器)完全是特定于浏览器的。在 Chrome 中看起来很像,在 Firefox 中则完全不同。上述 Web 元素似乎是 Chrome 中常规的 HTML 5 日期时间选择。大师页面显然描述了如何控制整个网络元素,并且它似乎有效。我会检查一下并接受它作为现在的答案。感谢大家抽出时间!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java