我正在开发一个系统,该系统具有我正在使用 Selenium 测试的基于 Web 的前端。在一个页面上,向下滚动时会动态加载内容(也许您从 Facebook 的好友列表中知道),因为这是要求之一。
通过 Javascript 使用 Selenium Webdriver(我使用 Chrome)向下滚动应该没问题。但是动态添加的内容存在问题。如何让 Webdriver 找到这些元素?
我尝试了以下内容向下滚动,直到不再加载内容:
int oldSize = 0;
int newSize = 0;
do {
driver.executeScript("window.scrollTo(0,document.body.scrollHeight)");
newSize = driver.findElementsBy(By.cssSelector("selector").size();
} while(newSize > oldSize);
但是,尽管页面第一次向下滚动并且现在正确加载了一些内容,但驱动程序的 findElementsBy(By) 函数将无法找到它们。
有人遇到过这个问题吗??如果有人可以帮助我找到解决方案,我将非常高兴!
问候, 本杰明