2012-02-07 76 views

回答

0

我不知道如何有滚动的webdriver为你,但你总是可以CONTROLL JavaScript或jQuery的滚动...

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

只要确保jQuery的在你的网页被引用上。在这种情况下,请确保在页面中具有滚动功能。如果它不在那里,这是行不通的。

+0

感谢您的答复,但在C#回复将大大aprreciated。 – user1100199 2012-02-15 15:03:24

+0

这实际上是在C#中。 “ExecuteScript”方法将代码传递给JavaScript以供浏览器使用。这是我如何在我的项目中执行滚动。 – Machtyn 2015-04-29 17:51:03

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

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

+1

我建议添加一个'height'参数,然后将'ExecuteScript'的参数从一个常量字符串替换为'string.Format(“window.scroll(0,{0});”,height)'' – 2012-09-22 23:58:10

1

此代码应被滚动到相关项目

try 
{ 
    System.Drawing.Point point = ((OpenQA.Selenium.Remote.RemoteWebElement)Driver.FindElement(By.XPath(sLocator))).LocationOnScreenOnceScrolledIntoView; 
} 
catch (Exception) 
{} 
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){} 
相关问题