滚动硒的奇怪行为

时间:2014-04-04 13:50:28

标签: java javascript selenium scroll ui-automation

我正在研究ui自动化,最近发现了一个有趣的行为。 有时候我需要滚动到某个特定元素并且我一直在使用它们,JS函数滚动到元素和actions.moveToElement(WebElement)

这似乎适用于任何复选框,文本框,按钮类型的元素,但是当我需要移动到具有多列的表的表格单元格()时,看到该表格正在向左移动,这种情况发生了几乎每一次。假设有一个表5x5并且我只循环超过第5列,当我通过这两个函数中的任何一个执行scroll2element时 - 整个表格都搞砸了。所有以前的列都会消失,我的第5列一直向左移动。

我找到了解决方法 - 而不是滚动到特定的表格单元格,我滚动到位于该表格顶部的按钮,但只是出于好奇,如果有人遇到这样的问题,他们做了什么?感谢

1 个答案:

答案 0 :(得分:1)

我认为问题可能出在选择器上。

尝试在XPath上使用CSS选择器,从我的生活经验来看,XPath并不适用于CSS。

此外,我总是使用JS而且从来没有遇到任何问题。

试试

   WebElement x = driver.findElement(by);
        ((JavascriptExecutor) driver).executeScript(
                "arguments[0].scrollIntoView();", x);