如何在WatiN中滚动Firefox和IE?

iJo*_*Joy 7 .net watin

如何在WatiN中滚动Firefox和IE?

Poc*_*ews 10

您可以使用以下代码为任何给定元素调用Internet Explorer或FireFox的"scrollIntoView"方法:

对于Internet Explorer:

using (var browser = new IE("http://www.google.com"))
{
    var textField = browser.TextField(Find.ByName("q"));
    var nativeElement = textField.NativeElement as IEElement;
    nativeElement.AsHtmlElement.scrollIntoView();
}
Run Code Online (Sandbox Code Playgroud)

对于FireFox:

using (var browser = new IE("http://www.google.com"))
{
    var textField = browser.TextField(Find.ByName("q"));
    var nativeElement = textField.NativeElement as JSElement;
    nativeElement.ExecuteMethod("scrollIntoView");
}
Run Code Online (Sandbox Code Playgroud)

同样,如果你想要的元素的位置,你可以使用相同的代码,但而不是调用scrollIntoView(),你可以调用offsetLeft()和的offsetTop()来获取位置.

using (var browser = new IE("http://www.google.com"))
{
    var textField = browser.TextField(Find.ByName("q"))
    var nativeElement = textField.NativeElement as IEElement;

    int leftoffset = nativeElement.AsHtmlElement.offsetLeft();
    int topoffset = nativeElement.AsHtmlelement.offsetTop();
}
Run Code Online (Sandbox Code Playgroud)