所附的是我要移动的滚动条的图片。
我已经有一个无法使用的方法。你能告诉我怎么了吗?
public static void ScrollPageToEnd(this IWebDriver Driver)
{
var maxScrollY = Driver.Scripts().ExecuteScript("return document.documentElement.scrollHeight;");
Driver.Scripts().ExecuteScript("window.scrollTo(0," + maxScrollY + ")");
}
答案 0 :(得分:0)
var maxScrollY可能不是字符串,(我记得的ExecuteScript
返回object
)。尝试使用ExecuteScript
将对象string maxScrollY = Driver.Scripts().ExecuteScript("return document.documentElement.scrollHeight;").ToString()
保存到字符串中。
此外,请通过调试检查对象的值,并查看window.scrollTo(0," + maxScrollY + ")
等于什么。
答案 1 :(得分:0)
使用scrollIntoView
界面的JavascriptExecutor
功能滚动到图像所在的位置。
WebElement element = driver.findElement("locator of the image")
JavascriptExector js = (JavascriptExecutor)driver;
js.executeScript("argument[0].scrollIntoView");",element)
或
我们可以使用方法Scroll(x,y)
滚动到特定位置
答案 2 :(得分:0)
它对我有用:
((IJavaScriptExecutor)Driver).ExecuteScript("window.scrollTo(0, document.body.scrollHeight)");
我将它用作函数来简化操作
public void ScrollToEndOfThePage()
{
((IJavaScriptExecutor)Driver).ExecuteScript("window.scrollTo(0, document.body.scrollHeight)");
}
答案 3 :(得分:0)
如果任何JS脚本不能帮助您滚动,请尝试MoveToElement吗?
IWebElement element = driver.FindElement(By.Id("yourLookingId"));
new Actions(driver).MoveToElement(element).Perform();
我正在带有滚动条的复杂Web应用程序中使用它,并且效果很好。