java - Selenium 错误地滚动到 View 中

标签 java selenium webdriver scrollview

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

我想看这个: enter image description here

相反,我看到的是这样的: enter image description here

我使用这个代码:

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);

如何滚动直到所有方 block 都进入 View ?

最佳答案

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

如果您希望它位于底部:

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

或者从顶部偏移:

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

关于java - Selenium 错误地滚动到 View 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46608006/

相关文章:

java - 如何在 Java 中使用 Bigdecimal 数学运算获取值

selenium - 端口不可用。退出...对于 golang selenium webdriver

EC 返回元素时 python selenium WebDriverWait 不起作用

selenium - UnreachableBrowserException : Could not start a new session. 可能的原因是使用 Selenium Grid 的远程服务器的地址无效

java - 关于并行的接口(interface)声明

java - 如何在 Eclipse 中将 Java 属性文件添加到我的 Java 项目中

java - Leptonica findSkew 返回 0.0

java - 在 JDBC 中转义单引号(出现错误 : You have an error in your SQL syntax . ..)

selenium - 使用 Selenium 抓取 iframe

javascript - webdriver.io - 单击存在许多元素的特定元素