2011-05-24 10 views

Respuesta

9

Usted puede llamar al método "scrollIntoView" para Internet Explorer o Firefox para cualquier elemento dado usando el siguiente código:

Para 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(); 
} 

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

Del mismo modo, si desea el po del elemento, puede usar el mismo código, pero en lugar de llamar a scrollIntoView(), puede llamar a offsetLeft() y offsetTop() para obtener la posición.

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(); 
} 
+0

Esto funciona solo con IE. Con Firefox "var nativeElement = textField.NativeElement as IEElement" return null. Por favor, necesito un ejemplo con Firefox. – iJoy

+0

Actualicé el ejemplo para incluir la versión de Firefox de desplazamiento automático a un elemento. – PocketDews

+0

+1: Bonito ... Justo lo que necesitaba. –

Cuestiones relacionadas