如何在WatiN中滚动Firefox和IE?
答案 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();
}