首页 > 解决方案 > 使用 Selenium 和 Java 获取可滚动表中所有元素的列表

问题描述

我正在尝试使用 Selenium 在表中获取某个类的所有元素的列表。DevTools 元素面板中可见的元素数量取决于浏览器窗口的大小,并不反映元素的真实数量。如果我展开浏览器窗口,元素列表会变大。为了查看更多元素,我需要手动向下滚动,但元素的数量仍然没有改变。问题是,表格在滚动时是动态加载的,因此元素会根据您滚动的距离从 DOM 中出现/消失。

WEB 页面和 Chrome DevTools 元素面板上的元素截图:

使用driver.findElements(By.xpath(xPath))不起作用并返回不正确的元素数量,即页面上可见的数量,而不是实际的元素数量。

我正在尝试通过 UI 测试表格中是否存在一定数量的元素,但表格必须向下滚动才能加载内容。我知道您可以在 Selenium 中滚动页面,但页面上的元素从顶部消失并在向下滚动页面时被底部替换。所以我希望一个表格中出现 13 个元素,但我现在最多只能得到 12 个元素,因为屏幕分辨率不允许我再放大屏幕。

标签: javaseleniumselenium-webdriver

解决方案


推荐阅读