我正在使用Selenium remotewebdriver和Nunit以及c#。当我发现错误时,我希望能够滚动到发生错误的位置,然后截取屏幕截图。这就是我想要实现这个方法的方法。
public void ScrollToLocation(Point location)
{
//code to find position of the page
var windowLocation = code to find position
var yOffset = location.Y - windowLocation.Y;
IJavaScriptExecutor js = (IJavaScriptExecutor)webDriver;
js.ExecuteScript("javascript:window.scrollBy(0," + yOffset + ")");
}
问题是我不知道如何找到页面的相对位置。例如,如果向下滚动页面,使得我在屏幕上看到的页面的左上角从整个页面的(0,0)位置向下50px,我想找到50。
我想到了一个工作,我只需向上滚动10000px,然后按位置向下滚动.Y,但我不喜欢这个。
编辑:我忘了提,由于原因,我不能使用GetElementLocationOnceScrolledIntoView