如何滚动垂直滚动条(不是整页)?

时间:2016-01-12 11:09:45

标签: javascript c# selenium scrollbar

我目前正在尝试滚动垂直滚动条而不滚动整个页面,我希望它能够实现javascript。

这是我用过的代码:

IWebDriver driver = new FirefoxDriver();
driver.Navigate().GoToUrl("http://www.w3schools.com/html/default.asp");
Actions actions = new Actions(driver);
actions.MoveToElement(driver.FindElement(By.Id("leftmenuinnerinner"))).MoveToElement(driver.FindElement(By.Id("leftmenuinner"))).Build().Perform();
for (int i =0;i <= 1000; i++)
{
    ((IJavaScriptExecutor)driver).ExecuteScript("window.scrollBy(0,10)");
    System.Threading.Thread.Sleep(10);
}  

使用此代码,整个页面开始滚动而不是滚动条。那么关于如何实现这一点的任何想法?

1 个答案:

答案 0 :(得分:1)

下面的内容适用于我。该元素可以是您想要滚动的元素。 WebElement element = driver.findElement(By.id("yourelement")); JavascriptExecutor jse = (JavascriptExecutor) driver; jse.executeScript("arguments[0].scrollIntoView();", element);

或者您可以尝试下面的一个。

findElement(By.xpath("yourelement").sendKeys(Keys.SPACE);