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

本文关键字:Selenium2 向上 滚动 何识别 识别 滚动条 | 更新日期: 2023-09-27 18:23:51

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

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

此代码应滚动到相关项目

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

我不知道如何让WebDriver为您滚动,但您可以随时使用JavaScript或jQuery控制滚动。。。

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

只需确保jQuery在您所在的页面中被引用即可。在这种情况下,请确保页面中具有滚动功能。如果它不在那里,这是行不通的。

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

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

这是要滚动的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){}