【发布时间】:2016-11-08 19:41:36
【问题描述】:
我有一个不是用td 和tr 标签构建的表,但每一行都是一个div(可能以某种方式用css 制作)
只有屏幕上可见的行和更多的行在 DOM 中呈现。
例如:如果第 7,8,9 行在屏幕上可见,那么在 DOM 上我将看到行:4,5,6,7,8,9
例如,当我滚动到第 13、14、15 行时,我将在 DOM 中看到第 11、12、13、14、15、16 行。第 4、5、6、7、8、9 行不再存在。
我的问题是如何使用 Selenium 检查屏幕上当前是否可见一行?
我在 WebDriver 的 API 中找不到东西,也许 Selenium 的类 JavascriptExecutor 有更底层的方法?
【问题讨论】:
-
你能给我们展示一下 html 对于 DOM 中的行的样子吗?我的猜测是,“可见”行上会有一些样式,可以直接用 Selenium 识别它们。
-
使用 element.getAttribute("style") 检查样式属性。检查它在可见性部分中包含的内容。还有 element.gtCssValue("display") 获取可见度值。
标签: java selenium webdriver html-table