【问题标题】:How to recognize scrollbar and scroll up/down using Selenium2, C#如何使用 Selenium2、C# 识别滚动条并向上/向下滚动
【发布时间】:2012-02-07 13:47:07
【问题描述】:

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

【问题讨论】:

    标签: c# selenium scrollbar selenium-firefoxdriver


    【解决方案1】:

    此代码应滚动到相关项目

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

    【讨论】:

      【解决方案2】:

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

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

      只需确保在您所在的页面中引用了 jQuery。在这种情况下,请确保您的页面中具有滚动功能。如果它不存在,这将不起作用。

      【讨论】:

      • 感谢您的回复,但在 C# 中回复将非常受欢迎。
      • 这实际上是在 C# 中。 “ExecuteScript”方法将代码传输到 javascript 以供浏览器使用。这就是我必须在我的项目中执行滚动的方式。
      【解决方案3】:
      public static void ScrollDown(WebDriver driver)
      {
          ((JavascriptExecutor)driver).ExecuteScript("window.scroll(0, 350);");
      }
      

      基于窗口大小变化/增加参数值。

      【讨论】:

      • 我建议添加一个height 参数,然后将ExecuteScript 的参数从常量字符串替换为string.Format("window.scroll(0, {0});", height)
      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-09-03
        • 1970-01-01
        • 1970-01-01
        • 2012-06-04
        • 2016-06-15
        • 2020-04-19
        • 1970-01-01
        • 2017-04-04
        相关资源
        最近更新 更多