C# 使用Selenium将元素滚动到视图中(不在导航栏下)
除非元素可见,否则Selenium click似乎不起作用。所以我想在单击之前查看元素。 Selenium中有一个焦点方法,但它似乎没有滚动视图。 我尝试使用Selenium将元素滚动到视图中,但有时元素仍在导航栏下。C# 使用Selenium将元素滚动到视图中(不在导航栏下),c#,selenium,scroll,navbar,C#,Selenium,Scroll,Navbar,除非元素可见,否则Selenium click似乎不起作用。所以我想在单击之前查看元素。 Selenium中有一个焦点方法,但它似乎没有滚动视图。 我尝试使用Selenium将元素滚动到视图中,但有时元素仍在导航栏下。 有没有办法滚动直到元素变得可见,selenium可以点击它?您可以尝试使用JavaScript,但不确定它是否可以工作,但您可以尝试一下: private void ScrollToElement(IWebElement element) { IJavaScriptExe
有没有办法滚动直到元素变得可见,selenium可以点击它?您可以尝试使用JavaScript,但不确定它是否可以工作,但您可以尝试一下:
private void ScrollToElement(IWebElement element)
{
IJavaScriptExecutor js = (IJavaScriptExecutor) driver;
js.executeScript("argumenents[0].scrollIntoView(true);", element)
}
我把它改编成C#源于我很久以前遇到的一个。当时我在Java中工作,这个解决方案对我很有用。希望它能帮助你,或者至少为你指明正确的方向 我通过使用JavaScript找到了一个解决方案
public static void Scroll(this IWebElement elem)
{
IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
js.ExecuteScript("window.scroll(arguments[0], arguments[1]);", elem.Location.X, elem.Location.Y - heightOfNavbar);
}
你曾尝试过什么来达到你想要的结果?关于你的问题,你的研究表明了什么?你能提供你尝试的代码吗,这可能有助于改进您的问题。