【发布时间】:2012-02-07 13:47:07
【问题描述】:
我正在使用 C#、Selenium2 测试一个应用程序。任何人都可以建议滚动条事件的代码是什么,以便它使用firefox驱动程序识别并向下/向上滚动。
【问题讨论】:
标签: c# selenium scrollbar selenium-firefoxdriver
我正在使用 C#、Selenium2 测试一个应用程序。任何人都可以建议滚动条事件的代码是什么,以便它使用firefox驱动程序识别并向下/向上滚动。
【问题讨论】:
标签: c# selenium scrollbar selenium-firefoxdriver
此代码应滚动到相关项目
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);");
}
基于窗口大小变化/增加参数值。
【讨论】:
height 参数,然后将ExecuteScript 的参数从常量字符串替换为string.Format("window.scroll(0, {0});", height)
这是滚动的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){}
【讨论】: