Javascript 如何使用selenium在web中使用java脚本执行器垂直滚动视图端口中心的元素

Javascript 如何使用selenium在web中使用java脚本执行器垂直滚动视图端口中心的元素,javascript,selenium,Javascript,Selenium,我正在使用selenium web驱动程序,最近在尝试单击浏览器上的某些元素时遇到了停顿。当尝试单击不在查看端口中的元素时,页面滚动并将元素放置在页面顶部。我正在寻找使用java脚本执行脚本将元素滚动到视图端口的中心。您可以使用Javascript执行器滚动页面尝试以下操作: JavascriptExecutor js = (JavascriptExecutor)BrowserUtilities.driver; WebElement element = driver.findElement(

我正在使用selenium web驱动程序,最近在尝试单击浏览器上的某些元素时遇到了停顿。当尝试单击不在查看端口中的元素时,页面滚动并将元素放置在页面顶部。我正在寻找使用java脚本执行脚本将元素滚动到视图端口的中心。

您可以使用Javascript执行器滚动页面尝试以下操作:

 JavascriptExecutor js = (JavascriptExecutor)BrowserUtilities.driver;
WebElement element = driver.findElement(By.id("your Locator"));
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView();", element);
自上而下:

js.executeScript("window.scrollBy(0,200)", ""); 

对于从左到右:

js.executeScript("window.scrollBy(200,0)", "");

要进行全身滚动,请尝试以下操作:

((JavascriptExecutor) driver)
     .executeScript("window.scrollTo(0, document.body.scrollHeight)");
滚动至spcfic元素尝试以下操作:

 JavascriptExecutor js = (JavascriptExecutor)BrowserUtilities.driver;
WebElement element = driver.findElement(By.id("your Locator"));
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView();", element);
滚动到特定坐标

((JavascriptExecutor) driver).executeScript("window.scrollBy(0,500)");
试试这个

(`(JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView({block: \"center\"});", element);`

爪哇!=JavascriptSee:SO的期望是,用户提出问题时不仅要研究如何回答自己的问题,还要分享研究、代码尝试和结果。这表明你花了时间来帮助自己,它使我们避免重复显而易见的答案,最重要的是,它帮助你得到一个更具体和相关的答案!另请参见:所有这些都不能回答OP的问题。请再读一遍这个问题。这些都不能回答OP的问题。请重新阅读问题。我知道滚动页面顶部或滚动页面底部。我有一个场景,需要单击元素,但页脚注释被阻止查看。因此,滚动到顶部不起作用,因为在页面顶部有更多的标题阻碍了查看,唯一的解决方案是它必须位于垂直中心…请阅读JeffC的评论,并正确解释您在脚本中所做的操作。还可以添加您迄今为止所做的研究和代码。如果您无法解释您正在做什么以及遇到的问题,那么将很难帮助您解决。欢迎使用StackOverflow!如果这个答案有效,请解释原因。否则,这可能会因为不够有用而被否决。