如何识别滚动条并使用Selenium2,C#向上/向下滚动
本文关键字:Selenium2 向上 滚动 何识别 识别 滚动条 | 更新日期: 2023-09-27 18:23:51
我正在使用C#Selenium2测试一个应用程序。任何人都可以建议滚动条事件的代码是什么吗,这样它就可以识别并使用firefox驱动程序向下/向上滚动。
此代码应滚动到相关项目
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){}