如何使用 Protractor.NET 向上滚动?
How to scroll up using Protractor.NET?
我的网页有点冗长,SAVE 按钮位于右上角。当我通过 Protractor.NET 输入数据时,网页向下滚动隐藏了 SAVE 按钮,从而抛出 Element is not clickable at a point 错误。现在为了保存网页,我需要向上滚动然后找到 SAVE 按钮并单击它。
我在 Protractor 中有一个使用 window.scrollTo(0,0)
的示例,但我如何在 Protractor.NET
中实现相同的示例
编辑:包含代码
public void Test()
{
var saveBtn = NgWebDriver
.FindElement(By.ClassName("btnSave"))
.FindElement(By.ClassName("Save"));
var btnSv = Scroller(saveBtn);
btnSv.Click();
}
public IWebElement Scroller(IWebElement element)
{
((IJavaScriptExecutor)NgWebDriver).ExecuteScript("arguments[0].scrollIntoView();", element);
return element;
}
因此在将 NgWebDriver
转换为 IJavaScriptExecutor
类型时,Scroller 方法中出现异常
我怎样才能做到这一点?
为什么要把它弄复杂?
如果你想滚动到一个元素,你可以使用这个简单的方法:
public IWebElement ScrollToElement(IWebElement webElement)
{
((IJavaScriptExecutor)Driver).ExecuteScript("arguments[0].scrollIntoView();", webElement);
return webElement;
}
终于在 Protractor.NET
中找到了向上滚动到顶部的解决方案
参考了 link 并且能够解决我的问题。
下面的代码对我有用。
IWebDriver driver = MyWebDriver.WrappedDriver;
IJavaScriptExecutor jse = (IJavaScriptExecutor)driver;
jse.ExecuteScript("scroll(0, -250);");
下面的代码帮助我实现了同样的目的。
IJavaScriptExecutor jse = (IJavaScriptExecutor)NgDriver;
jse.ExecuteScript("arguments[0].scrollIntoView()", webElement);
我的网页有点冗长,SAVE 按钮位于右上角。当我通过 Protractor.NET 输入数据时,网页向下滚动隐藏了 SAVE 按钮,从而抛出 Element is not clickable at a point 错误。现在为了保存网页,我需要向上滚动然后找到 SAVE 按钮并单击它。
我在 Protractor 中有一个使用 window.scrollTo(0,0)
的示例,但我如何在 Protractor.NET
编辑:包含代码
public void Test()
{
var saveBtn = NgWebDriver
.FindElement(By.ClassName("btnSave"))
.FindElement(By.ClassName("Save"));
var btnSv = Scroller(saveBtn);
btnSv.Click();
}
public IWebElement Scroller(IWebElement element)
{
((IJavaScriptExecutor)NgWebDriver).ExecuteScript("arguments[0].scrollIntoView();", element);
return element;
}
因此在将 NgWebDriver
转换为 IJavaScriptExecutor
类型时,Scroller 方法中出现异常
我怎样才能做到这一点?
为什么要把它弄复杂?
如果你想滚动到一个元素,你可以使用这个简单的方法:
public IWebElement ScrollToElement(IWebElement webElement)
{
((IJavaScriptExecutor)Driver).ExecuteScript("arguments[0].scrollIntoView();", webElement);
return webElement;
}
终于在 Protractor.NET
中找到了向上滚动到顶部的解决方案参考了 link 并且能够解决我的问题。
下面的代码对我有用。
IWebDriver driver = MyWebDriver.WrappedDriver;
IJavaScriptExecutor jse = (IJavaScriptExecutor)driver;
jse.ExecuteScript("scroll(0, -250);");
下面的代码帮助我实现了同样的目的。
IJavaScriptExecutor jse = (IJavaScriptExecutor)NgDriver;
jse.ExecuteScript("arguments[0].scrollIntoView()", webElement);