【发布时间】:2018-10-12 15:09:00
【问题描述】:
我正在通过 JavaScript 将元素滚动到视图中,但是当尝试单击该元素时,会引发异常,表示该元素无法滚动到视图中。当我查看浏览器时,它已成功滚动到视图中。
wait = new WebDriverWait(driver, TimeSpan.FromSeconds(WaitTimeout));
var nextPageButton = wait.Until(ExpectedConditions.ElementToBeClickable(NextPageButtonSelector));
((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].scrollIntoView(true);", nextPageButton);
((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].style.width = '100%';", nextPageButton);
((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].style.height = '100%';", nextPageButton);
((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].style.position = 'fixed';", nextPageButton);
nextPageButton.Click();
附: javascript element.click() 或 Actions 类都不起作用。
【问题讨论】:
-
先向下滚动,然后等待可点击
-
@Infern0 我刚刚尝试了您的想法,但没有成功。在 wait.Until 调用之前滚动到视图时出现同样的异常。