我有一个用例,其中网页上有一个div元素,一旦你点击一个链接就会出现一个弹出对话框(它不是一个真正的弹出窗口,就像你点击链接检查时在Facebook上打开的对话框一样对你的帖子的反应等)
我正在使用Selenium WebDriver和Java来自动化这个应用程序的测试,我的用例让我滚动到对话框的底部,其中有一个链接显示更多项目,当用户点击显示更多项目时,它会填充另外10个项目在列表中等等,直到没有其他项目留给用户访问 .
所以基本上我必须向下滚动该特定的div元素,直到我一直看到 Show More
链接,当驱动程序无法找到显示更多链接时,它应该停止 .
注意 - 我不能只使用javascript window.scrollTo()
滚动到页面底部,因为它将向下滚动整个网页,但我只想滚动到该分割元素的底部 .
如果有人知道如何实现这一点,请告诉我 .
我在这里先向您的帮助表示感谢 !
4 回答
我遇到过这种问题,我使用SQA SO上提出的类似问题解决了这个问题 . 这是post .
请参阅Sagar007的last answer,它使用单独的函数
scroll_Page()
来实现此目的 .代码直接来自他的回答
我添加了一个新步骤,在其中使用
click()
方法单击div元素,然后继续下一步 .使用
scrollIntoView
scrollIntoView vs moveToElement scrollIntoView vs moveToElement
传递
more items
link元素作为参数 .((JavascriptExecutor)驱动程序).executeScript(“arguments [0] .scrollIntoView(true);”,element);
你也可以用
moveToElement
Actions actions = new Actions(driver); actions.moveToElement(element); actions.perform();
要么
滚动到任何可滚动元素内部的另一种方式: