我目前正在尝试在不滚动整个页面的情况下滚动垂直滚动条,我希望它实现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);
}
有了这个代码,整个页面开始滚动,而不是滚动条。那么,对于如何实现这一目标,有什么想法吗?
下面的一个对我很有用。元素可以是一个元素,直到你想滚动。WebElement element = driver.findElement(By.id("yourelement"));
JavascriptExecutor jse = (JavascriptExecutor) driver;
jse.executeScript("arguments[0].scrollIntoView();", element);
或者你可以试试下面的。
findElement(By.xpath("yourelement").sendKeys(Keys.SPACE);