在我的应用程序中有2个滚动条。一个是网页滚动栏,另一个是内表滚动栏。我的任务只是向下滚动表滚动栏。因此,我使用了JavaScript
WebElement element = driver.findElement(By.id("table id"));
((JavascriptExecutor)driver).executeScript("argument[0].scrollIntoView(true);", element);
我的测试用例正在通过,但滚动条不会向下移动。因此,请任何人都可以帮助我。谢谢,我正在寻找内部滚动滚动的解决方案。
您可能正在尝试滚动一个已经可见的元素,这就是为什么它不滚动的原因。因此,首先,尝试在表中提供一个不可见的元素,类似于:
WebElement element = driver.findElement(By.id("table id"));
WebElement lastTableElement = element.findElement(By.cssSelector("tr:last-child"));
((JavascriptExecutor)driver).executeScript("argument[0].scrollIntoView(true);", element);
并再次向第一个孩子滚动:
WebElement lastTableElement = driver.findElement(By.cssSelector("tr:first-child"));
您也可以按像素滚动:
((JavascriptExecutor)driver).executeScript("argument[0].scrollTop += 100;", element);