Selenium 错误地滚动到视图中

Selenium wrong scroll into view

如果某些按钮可见或不可见,则说明我的程序正在执行不同的操作。为了看到这些按钮,我需要滚动到它们。

我想看这个:

相反,我是这样看的:

我使用这个代码:

JavascriptExecutor je=(JavascriptExecutor) driver;
     WebElement elem=driver.findElement(By.xpath("//a[contains(.,'"+username+"')]/ancestor::div[contains(@class, 'js-answer-element')]"));
     je.executeScript("arguments[0].scrollIntoView(true)", elem);

如何滚动直到所有方块都进入视野?

容器在视图的顶部滚动,这正是您通过调用 arguments[0].scrollIntoView(true) 指示的。

如果你想把它放在底部:

je.executeScript("arguments[0].scrollIntoView(false)", elem);

或者从顶部偏移:

je.executeScript("arguments[0].scrollIntoView(true); window.scrollBy(0, -60);", elem);