c# - 如何在 C# selenium webdriver 中自动滚动 Div?

标签 c#

我使用了“sendkeys(keys.pagedown)”,但我需要用高度滚动 Div 列表。就像 Java 脚本中的 scroll-Top 一样。 有没有可能滚动?

我的代码是:

driver.FindElementByClassName("body").SendKeys(Keys.PageDown);

最佳答案

我不使用带有 SendKeys(Keys.PageDown) 的代码;用于滚动。

但我知道滚动的 javascript 代码。

我已经使用这行代码来滚动页面。

JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("window.scrollBy(0,400)", "");

这会将您的页面滚动 400 点。你可以增加它。

这个 JS 也有不同的风格,特别是滚动。

好好享受吧。


我没有为 selenium 脚本使用 C# 代码,所以我用 JAVA 编写了代码。请根据您的语言进行更改。

如果您的 HTML DOM 中有元素,请采取另一种方式。

如果您的拖动条有 HTML 元素,那么您可以编写这样的代码

public static boolean scroll_Page(WebElement webelement, int scrollPoints){
Action dragger = new Actions(driver);
int numberOfPixelsToDragTheScrollbarDown = 10;
    for (int i = 10; i < scrollPoints; i = i + numberOfPixelsToDragTheScrollbarDown){
       dragger.moveToElement(webelement).clickAndHold().moveByOffset(0, numberOfPixelsToDragTheScrollbarDown).release(webelement).build().perform();
    }
}

您可以像这样创建方法。 传递拖动器元素和滚动点。

试试这个。

关于c# - 如何在 C# selenium webdriver 中自动滚动 Div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30542894/

相关文章:

c# - ConcurrentDictionary + Lazy——实例化只会发生一次吗?

c# - 获取所有公共(public)静态方法返回一个空列表

c# - 在 XML 中查找信用卡号?

c# - 如何在第二台显示器上打开 form2?

c# - 如何让 JAWS 读取一个简单的标签?

c# - 混合字符串和 int 类型的列表

c# - 大容量插入导致事务中止或超时

terminology - C# 和 Visual C#?

c# - Razor 页面路由与 Web API 中的方式相同

c# - 查找所有未使用代码的工具