如何在WatiN中滚动Firefox和IE?

时间:2011-05-24 11:37:43

标签: .net watin

如何在WatiN中滚动Firefox和IE?

1 个答案:

答案 0 :(得分: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();
}

对于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");
}

同样,如果你想要元素的位置,你可以使用相同的代码,但不是调用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();
}