java - 使用 Selenium 和 Java 获取可滚动表中所有元素的列表
问题描述
我正在尝试使用 Selenium 在表中获取某个类的所有元素的列表。DevTools 元素面板中可见的元素数量取决于浏览器窗口的大小,并不反映元素的真实数量。如果我展开浏览器窗口,元素列表会变大。为了查看更多元素,我需要手动向下滚动,但元素的数量仍然没有改变。问题是,表格在滚动时是动态加载的,因此元素会根据您滚动的距离从 DOM 中出现/消失。
WEB 页面和 Chrome DevTools 元素面板上的元素截图:
使用driver.findElements(By.xpath(xPath))
不起作用并返回不正确的元素数量,即页面上可见的数量,而不是实际的元素数量。
我正在尝试通过 UI 测试表格中是否存在一定数量的元素,但表格必须向下滚动才能加载内容。我知道您可以在 Selenium 中滚动页面,但页面上的元素从顶部消失并在向下滚动页面时被底部替换。所以我希望一个表格中出现 13 个元素,但我现在最多只能得到 12 个元素,因为屏幕分辨率不允许我再放大屏幕。
解决方案
推荐阅读
- javascript - 移动菜单:点击父链接显示子菜单,但也直接进入父页面
- python - 最大不适用于 for 循环内的系列/列表
- ios - 将图像添加到 CAShapeLayer
- ruby-on-rails - Sidekiq 仅在开发机器上运行缓慢
- python - Python程序问题打印偶数
- javascript - 将事件传递给 React 中的嵌套函数并且没有获得外部事件值
- python - 删除开头和结尾相同的字符串的可变部分
- php - 在 erb 视图中从 onclick 运行 bash 脚本
- qt - QML WindowApplication 在设置窗口工具栏时使用 SplitView 进行奇怪的大小调整行为
- netsuite - DocuSign API:将 NetSuite 文档上传到信封