【发布时间】:2011-05-24 11:37:42
【问题描述】:
如何在 WatiN 中滚动 Firefox 和 IE?
【问题讨论】:
-
关注首屏下方的元素?
-
没有。我需要以像素为单位的位置。也许有人知道如何获取 DOM 元素的位置?
如何在 WatiN 中滚动 Firefox 和 IE?
【问题讨论】:
您可以使用以下代码为任何给定元素调用 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();
}
对于火狐:
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();
}
【讨论】: