tot*_*eat 5 java ajax selenium get selenium-webdriver
对于这个例子,让我们看看网站 pinterest:
当我进行初始登录时,会加载引脚。为了获得更多的 pin,我需要滚动到页面的末尾,在有更多 pin 的请求之后(很多网站都像我想的那样工作)
所以我知道如何在 selenium 中进行滚动,但是我如何等待请求结束?
我的意思是,它不是在等待某个元素出现,那种元素(大头针)已经存在,但我正在等待其他元素出现。
如果我使用带等待的预期条件,它对第一批引脚有好处,但是添加到它们中的那些,我如何等待它们,例如:
当 pinterest 首次加载时->
WebDriverWait driverWait = new WebDriverWait(cd, 10, 1000);
element = driverWait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("thepins")));
Run Code Online (Sandbox Code Playgroud)
这对于初始加载非常有用,现在我滚动到页面底部
((JavascriptExecutor) cd).executeScript("window.scrollTo(0, document.body.scrollHeight)");
Run Code Online (Sandbox Code Playgroud)
现在取决于页面,加载到更多引脚(有时不是)我想在我做另一个滚动之前等待它们加载。
处理这种情况的最佳方法是什么?
小智 4
我的方法是使用页面上的元素数量。例如你可以这样做:
int pinCount = webDriver.findElements(By.xpath("thepins")).size();
Run Code Online (Sandbox Code Playgroud)
此时运行 jsExecutor 进行滚动,然后:
webDriverWait.until(ExpectedConditions.numberOfElementsToBeMoreThan(By.xpath("thepins"),pinCount ));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6754 次 |
| 最近记录: |