如何识别滚动条并使用Selenium2,C#向上/向下滚动

时间:2012-02-07 13:47:07

标签: c# selenium scrollbar selenium-firefoxdriver

我正在使用C#,Selenium2测试应用。任何人都可以建议滚动条事件的代码是什么,以便它使用firefox驱动程序识别并向下/向上滚动。

4 个答案:

答案 0 :(得分:1)

此代码应滚动到相关项目

try
{
    System.Drawing.Point point = ((OpenQA.Selenium.Remote.RemoteWebElement)Driver.FindElement(By.XPath(sLocator))).LocationOnScreenOnceScrolledIntoView;
}
catch (Exception)
{}

答案 1 :(得分:0)

我不确定如何为您提供WebDriver滚动,但您始终可以使用JavaScript或jQuery来控制滚动...

((JavascriptExecutor)driver).ExecuteScript("scroll(0,200);"); 

确保在您所在的页面中引用jQuery。在这种情况下,请确保在页面中具有滚动功能。如果不存在,这将无效。

答案 2 :(得分:0)

public static void ScrollDown(WebDriver driver)
{
    ((JavascriptExecutor)driver).ExecuteScript("window.scroll(0, 350);");
}

基于窗口大小更改/增加参数值。

答案 3 :(得分:0)

这是要滚动的java代码:

//Scroll Bar code For move Upwards
Actions dragger = new Actions(driver);
WebElement draggablePartOfScrollbar = driver.findElement(By.className("mCSB_dragger_bar"));
int numberOfPixelsToDragTheScrollbarDown1 = 1500;
for (int i=10;i<1000;i=i+numberOfPixelsToDragTheScrollbarDown1){
        try{
    // this causes a gradual drag of the scroll bar, 10 units at a time
    dragger.moveToElement(draggablePartOfScrollbar).clickAndHold().moveByOffset(0,numberOfPixelsToDragTheScrollbarDown1).release().perform();
    Thread.sleep(1000L);
        }catch(Exception e1){}