我正在研究 ui 自动化,最近发现了一个有趣的行为。 有时我需要滚动到某个特定元素,并且我一直在使用JS函数滚动到元素和actions.moveToElement(WebElement)
这似乎适用于任何复选框、文本框、按钮类型的元素,但是当我需要移动到具有多列的表格的表格单元格()时 - 看到该表格正在向左移动,这种情况几乎每次都会发生。假设有一个 5x5 的表格,当我通过这两个函数中的任何一个执行scroll2element 时,我只在第 5 列上循环 - 整个表格变得一团糟。之前的所有列都会消失,并且我的第五列会一直向左移动。
我找到了解决方法 - 我不是滚动到特定的表格单元格,而是滚动到位于该表格顶部的按钮,但只是出于好奇,如果有人遇到这样的问题,他们做了什么?谢谢
最佳答案
我认为你的问题可能出在选择器上。
尝试在 XPath 上使用 CSS 选择器,根据我的生活经验,XPath 的效果不如 CSS。
而且我一直使用 JS,从来没有遇到过任何问题。
尝试一下
WebElement x = driver.findElement(by);
((JavascriptExecutor) driver).executeScript(
"arguments[0].scrollIntoView();", x);
关于java - 滚动 Selenium 的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22864729/